我试图在Ruby中使用一些脚手架代码。脚手架的生成如下:
rails generate scaffold Person name:string
现在,当我查看某些xxx.html.erb中生成的代码时,我看到对edit_person_path()的引用,如下例中show.html.erb的情况。有人可以直接告诉我edit_person_path()是什么以及它在何处/何处存在?我玩了一下并打印出edit_person_path()的输出,看到它返回/ people / id / edit(其中id =实际整数)。从中推断出我认为edit_person_path(“x”)返回/ people / x / edit但需要了解更多这种黑魔法。
<p id="notice"><%= notice %></p>
<p>
<strong>Name:</strong>
<%= @person.name %>
</p>
<%= link_to 'Edit', edit_person_path(@person) %> |
<%= link_to 'Back', people_path %>
答案 0 :(得分:2)
这里完全是白魔法。这些是Rails用于自动生成路径和URL的助手:http://guides.rubyonrails.org/routing.html#path-and-url-helpers。
例如,如果您生成了scaffold Person,您将自动获得以下帮助程序:
people_path() # /people, because rails uses 'person'.pluralize
new_person_path() # /person/new
edit_person_path(@person) # /person/:id/edit
person_path(@person) # /person/:id
等