2010-12-14 51 views
4

我在Rails 3中使用SimpleForm。如何爲此嵌套資源創建提交按鈕?Rails3 - 如何爲嵌套資源提交提交按鈕

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 %> 

回答

16

的觀點正確的代碼是:

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

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

+0

檢查編輯,我上傳的結果 – Nerian 2010-12-14 22:48:48

+0

你的結果是無關的這個當前問題,請讓在另外一個問題。如果我的答案爲你工作,你應該upvote並接受它:) – Zabba 2010-12-14 22:51:34

+0

它沒有工作。我得到了和以前相同的錯誤。在耙路線中,我看到:PUT /schools/:school_id/students/:id(.:format) – Nerian 2010-12-14 22:53:39

0

不知道如何或在哪裏,你正在設置@school。 如果@school爲零,上面的答案可能不起作用。

但是你也可以使用

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