ruby-on-rails – Rails:link_to with block和GET params?
发布时间:2020-12-17 04:19:17 所属栏目:百科 来源:网络整理
导读:如何在link_to块声明中实现查询字符串和URL参数?现在,我有这个,它有效: %= link_to 'Edit',:edit,:type = 'book',:id = book % 以上工作和输出: http://localhost:3000/books/edit/1?type=book 我想做的是这样的: % link_to :edit,:id = book do % ...%
如何在link_to块声明中实现查询字符串和URL参数?现在,我有这个,它有效:
<%= link_to 'Edit',:edit,:type => 'book',:id => book %> 以上工作和输出: http://localhost:3000/books/edit/1?type=book 我想做的是这样的: <% link_to :edit,:id => book do %> ... <% end %> 但以上格式输出: http://localhost:3000/books/edit/ 这不是我正在寻找的…我希望它输出像前面的例子一样的URL. 我怎样才能做到这一点? 解决方法link_to 采用与
url_for 相同的选项.话虽如此,没有:type选项,它并不真正接受块,所以我的猜测是你的第二个例子工作的原因是因为它位于Book视图的范围内.正如
Tom在回答此答案时所提到的,将块传递给link_to可以用作第一个参数(链接文本)的替代.
如果Book是一个资源,您可以通过传递一个方便的,自动生成的资源路由来获取link_to帮助程序来生成您正在寻找的URL.在尝试此操作之前运行rake路由: <%= link_to "Edit",edit_book_path(book) %> 否则,您可以明确说明要链接到的控制器/操作: <%= link_to "Edit",:controller => "books",:action => "edit",:id => book %> 快乐的黑客. 编辑:几乎忘记了,你可以在声明你要链接的对象的id之后添加绕过它们的查询字符串. <%= link_to "Edit",edit_book_path(book,:query1 => "value",:query2 => "value") 产品/书籍/ 1 /编辑?query1 = value& query2 = value.或者: <%= link_to "Edit",:id => book,:query2 => "value" %> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |