我正在尝试在我的第一个Rails应用程序(Rails 3)中做一些非常简单的事情,我不知道我在做错什么,还是有更好的方法.在网路上找不到任何东西,也没有找到任何解决它的东西,尽管很多的搜索.
在应用程序中,我有WorkRequests和文章.当查看文章时,我想要一个按钮创建一个WorkRequest,并且当新的WorkRequest表单出现时,文章已经填写了.本质上,我试图将Article.id传递给新的WorkRequest.
可以在link_to中添加参数,但是我希望它成为一个按钮.虽然它在文章格式的HTML中显示为查询参数,但它从未获得到WorkRequest.new方法. This文章从2010年详细解释了这个问题,但解决方案对我来说不起作用(请参阅我在页面末尾的评论).
这似乎应该是一件相当容易和常见的事情(一旦我弄清楚,我自己的应用程序中还有其他几个地方,我想做同样的事情),但是我一直在打击我的头墙几天了.我是Rails的新手 – 这是我的第一个应用程序 – 所以我希望有更多经验的人可以帮助!
提前致谢.
解决方法
只是回头来完成这个.最终我通过使用link_to来解决这个问题,但是使用jQuery使它看起来像一个按钮. @kishie,如果你说你通过button_to做这个工作,我想看看代码,但是像我喜欢jQuery一样,我也很关心(对于这个程序,无论如何).
以下是文章#show视图中的代码. (该类是通过jQuery使其看起来像一个按钮.)
<%= link_to "New Request",new_work_request_path(:article_id => @article.id),:class => "ui-button" %>
if !params[:article_id].blank? @work_request.article = Article.find(params[:article_id]) end
然后,Work_Request#new视图正确呈现.