我想在我的第一个Rails应用程序(Rails 3)中做一些非常简单的事情,但我不确定我做错了什么,或者如果有更好的方法。无法在网上找到任何东西,或者在这里为我解决了这个问题,尽管搜索很多。RAILS3:通过button_to传递任意参数?
在应用程序中,我有WorkRequests和文章。查看文章时,我想要一个按钮来创建一个WorkRequest,当新的WorkRequest表单出现时,将文章填入。基本上,我试图将Article.id传递给新的WorkRequest。
在link_to中工作只是通过添加参数,但我希望它是一个按钮。虽然它在文章形式的HTML中显示为查询参数,但它永远不会到达WorkRequest.new方法。 This文章从2010年解释了一些细节的问题,但解决方案不适合我(看我的评论在本页的末尾)。
这似乎应该是一个相当容易和常见的事情要做(一旦我知道了,在我自己的应用程序中还有其他几个地方我也想做同样的事情),但是我现在已经在这个特定的墙上撞了我的头。我是Rails新手 - 这是我的第一个应用程序 - 所以我希望有更多经验的人可以帮助!
在此先感谢。
这不行,基什。我得到一个错误:“没有路由匹配”/ work_requests/new“。OK我知道这一点:这是因为它使用POST并需要使用GET,可以通过添加:method =>:get来修复该问题,如下所示: <%= button_to(“Add WorkRequest”,{:controller =>“work_requests”,:action =>“new”,::module_id => @ pier_module.id},:method =>:get)%> 但是这个参数被删除了,这就是问题所在,在我原来的问题链接的文章中有详细说明 – 2011-03-21 14:09:55
请注意,如果您将button_to更改为link_to,但混合链接和按钮看起来很奇怪。可以诉诸菜单布局,这将使用所有链接,但我不明白为什么一个按钮不能传递任意参数。 事情是我不知道这是否是打算的行为,在这种情况下,至少学习理性因为它会帮助我理解它,或者如果它是一个'错误',或者有更好的方法来做我想做的事情。 – 2011-03-21 14:13:01
你使用什么版本的导轨?发布我的答案之前,我检查了它,它做得很好! – 2011-03-21 14:44:33