2011-03-13 62 views
7

好吧,我正在努力使这个工作。我想将我需要的信息传递给新的操作,但它不起作用。我在一个视图中,并使用的link_to与路径创造一个新的纪录:Rails 3将参数传递给新方法

<%= link_to "New", new_libation_path(:xid=> 123) %> 

我的路由表有:资源:奠酒

而在libation_controller我有我的新动作。 ..

def new 
    puts params[:xid] #This is nil! 
    ... 

我在做什么错?也许我应该谷歌如何在导轨中使用params ..

回答

19

这看起来没错。 URL中的查询字符串是否应该显示?检查app.new_libation_path(:xid => 123)正在返回正确的网址,你的Rails控制台上,而这个网址是显示在您的HTML标记:

ruby-1.9.2-p136 :001 > app.new_user_path(:test => 'test') 
=> "https://stackoverflow.com/users/new?test=test" 

(从一个应用程序我不得不派上用场)

+1

Aaaargh!感谢您使用控制台的提示。当然,它的工作。它很快指出我已经修改了错误的**(但类似的)视图文件!我现在要去打屁股... – rtfminc 2011-03-13 07:51:15

+0

哈哈,它发生在我们所有人身上!乐意效劳。现在[去买橡皮鸭](http://compsci.ca/blog/rubber-ducks-help-best-with-computer-science/)。 – 2011-03-13 07:58:14