2
我正在建設一個Rails應用程序和現在我與部分從一個模型在另一個模型視圖顯示奮力工作的觀點一個模型的局部呈現。Rails的形成另一個模型
所以,我有模型User
和Goal
。用戶可以有很多目標,一個目標有一個用戶。
在Show View爲User
,我列出了該用戶的目標。我試圖顯示一個jQuery對話框,允許您編輯目標。我對目標的一個部分的form_for那我修改基於初始腳手架
<%= form_for([@user, @goal]) do |f| %>
...
<% end %>
我想創建的users#show
認爲可以渲染形式的<div>
,但我無法弄清楚如何(或者,如果它甚至有可能),以正確的參數傳遞給的form_for部分
<%= div_for(goal, :class => "dialog edit", :title => "Edit Goal") do %>
<%= render :partial => 'goals/form' %>
<% end %>
這給了我undefined method 'model_name' for NilClass
錯誤,導致我相信的form_for不知道應該是什麼@user和@goal。
我的用戶#顯示控制器,像這樣
def show
@user = User.find(params[:id])
end
和目標#編輯
def edit
@goal = @user.goals.find(params[:id])
end
路線是這樣的
resources :users do
resources :goals
end
什麼我需要調整在user#show
視圖中顯示編輯目標表單?
我想到的是,當地的哈希是有道理的努力,但我無法弄清楚如何要做到這一點。我嘗試了渲染調用中的':locals'參數,但無法使其工作 – bknoles 2011-12-24 15:32:09
<%= render:partial =>'goals/form':locals => {:data => @ goal}%>。所以我們可以以部分文件 – 2011-12-25 18:01:13
的形式訪問變量數據。基本上就是這樣。最後讓它工作。問題是我正在使用 – bknoles 2011-12-27 01:29:21