在Rails 4中命名路由助手与数组

时间:2014-01-22 03:58:10

标签: ruby-on-rails ruby

似乎有两种创建链接的方法;使用“命名路径助手”或涉及数组的语法。

例如:

<%= link_to 'Edit', [:edit, :admin, book] %>

<%= link_to 'Edit', edit_admin_path(book) %>

就链接而言,我可以看到它们产生完全相同的结果;但是对于表格,他们没有。

这会产生一个显式的编辑表单,CSS类edit_book是一个标记为“Update Book”的提交按钮:

<%= form_for [:admin, @book], method: :patch do |f| %>

而这会产生一个更通用的形式,没有类名和一个标有“保存书”的按钮:

<%= form_for :book, url: admin_book_path(@book), method: :patch do |f| %>

所以,我的问题是,这两个选项之间的语法差异是什么哪个更常用,而是否存在行为差异除了我上面提到过的那些?

1 个答案:

答案 0 :(得分:0)

您指出的差异在于,您在一个示例集中使用link_to,在另一个示例集中使用form_for。这是两种不同的方法,预计不会有相同的结果。

至于哪个更常用,我建议使用命名路径IE admin_book_path,因为它非常具有表现力,你可以随时检查rake routes获取有关指定路线的更多信息。