通过Rails中的脚手架自动生成代码

时间:2014-01-20 01:24:52

标签: ruby-on-rails scaffolding

我试图在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 %>

1 个答案:

答案 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