Rails3 - 如何为嵌套资源创建提交按钮

时间:2010-12-14 22:40:41

标签: ruby-on-rails

我在Rails中使用SimpleForm 3.如何为这个嵌套资源创建提交按钮?

resources :schools do   
  resources :students
end

<%= simple_form_for @student do |f| %>
  <%= f.input :first_name %>
  <%= f.input :last_name %>
  <%= f.button :submit %>
<% end %>    

如果我使用f.submit

ActionView::Template::Error (undefined method `students_path' for #<#<Class:0x000001040ddfb8>:0x000001040d2578>):
1: <%= simple_form_for @student do |f| %>
2:     <%= f.input :first_name %>
3:     <%= f.input :last_name %>
4:     <%= f.submit %>

3 个答案:

答案 0 :(得分:16)

视图的正确代码是:

<%= simple_form_for [@school, @student] do |f| %>
     <%= f.input :first_name %>
     <%= f.input :last_name %>
     <%= f.button :submit  %>
<% end %>

答案 1 :(得分:0)

只需使用<%= f.submit %>代替<%= f.button :submit %>

答案 2 :(得分:0)

不确定如何或在何处设置@school。 如果@school为零,则上述答案可能无效。

但是你也可以使用

<%= simple_form_for [:school, @student] do |f| %>
 <%= f.input :first_name %>
 <%= f.input :last_name %>
 <%= f.submit  %>
<% end %>