我有兩個模型/視圖,User
和PersonalInfo
,我試圖調用_form.html.erb
部分在'user#show'
行動,但我「M得到一個錯誤:,而模型的路線被嵌套在當前視圖中的Rails 3
No route matches {:controller=>"personal_info"}
我懷疑的問題是,我PersonalInfo
路線嵌套在User
內航線和Rails沒有使用正確的,但我不知道如何使它使用正確的。下面是調用了表格行:
app/views/users/show.html.erb
:
<%= render :partial => "/personal_info/form", :locals => {personal_info: @personal_info } %>
app/views/personal_info/_form.html.erb
:
<%= form_for @personal_info, url: user_personal_info_index_path, html: { method: :post } do |f| %>
routes.rb
:
resources :users do
resources :personal_info
end
我是否必須在personal_info控制器中聲明某些內容或指定應用程序以使用users/:user_id/personal_info
路由?
考慮到你的'personal_info'控制器是在'應用程序/ controllers',您可以添加'控制器'選項,以'routes.rb'中的'resources'聲明爲:'資源:個人信息,控制器:'personal_infos'' – vee
@vinodadhikary我仍然得到相同的錯誤信息,但我想我引用了一些錯誤某處.. – sp33k3rph433k
在你的'f orm_for'聲明'url',你還需要傳入'user_id',即'<%= form_for @personal_info,url:user_personal_info_index_path(@user),html:{method::post} do | f | %>'。如果這不起作用,請發起聊天請求。在我看來,你的'資源:personal_info'應該是'resources:personal_infos'(複數)。 – vee