似乎有两种创建链接的方法;使用“命名路径助手”或涉及数组的语法。
例如:
<%= 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| %>
所以,我的问题是,这两个选项之间的语法差异是什么,哪个更常用,而是否存在行为差异除了我上面提到过的那些?
答案 0 :(得分:0)
您指出的差异在于,您在一个示例集中使用link_to
,在另一个示例集中使用form_for
。这是两种不同的方法,预计不会有相同的结果。
至于哪个更常用,我建议使用命名路径IE admin_book_path
,因为它非常具有表现力,你可以随时检查rake routes
获取有关指定路线的更多信息。