2011-12-24 7 views
2

レールアプリケーションの構築に取り組んでいますが、今は別のモデルのビューで1つのモデルの一部を表示するのに苦労しています。レールは別のモデルのビューで1つのモデルの部分レンダリングを形成します

私はモデルUserGoalを持っています。ユーザーは多くの目標を持つことができ、目標には1人のユーザーしか存在しません。

Userの表示ビューでは、そのユーザーの目標をリストします。私は目標を編集できるjQueryダイアログを表示しようとしています。私はそのフォームをレンダリングすることができusers#showビューで<div>を作成しようとしていますが、私は方法を見つけ出す(または場合することはできません最初の足場に基づいて

<%= form_for([@user, @goal]) do |f| %> 
... 
<% end %> 

を修正目的のためのform_for部分を持っていますそれはのform_forがどうあるべきか@userと@goal知らないと信じて私をリードし、私にundefined method 'model_name' for NilClassエラーを与えるのform_for部分

<%= div_for(goal, :class => "dialog edit", :title => "Edit Goal") do %> 
    <%= render :partial => 'goals/form' %> 
<% end %> 

に適切なパラメータを渡す)ことも可能です。

ユーザ#ショーのための私のコントローラはそう

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ビューに編集目標フォームを表示するにはどうすればよいですか?

答えて

0

あなたは、部分的内部ユーザービューを持っているか、あなたは私が地元のハッシュが理にかなっていることを考えています

+0

目標/フォームをしようとしている場合、ローカルハッシュとしてパラメータを送信する必要があることかもしれないが、私はどのように把握することはできませんそれをする。私はレンダリングで ':locals'引数を試しましたが、動作させることはできません。 – bknoles

+0

<%= render:partial => 'goals/form':locals => {:data => @ goal}%>したがって、部分データファイル –

+0

の形式で変数データにアクセスすることができます。それは基本的にそれです。最後にそれを働かせました。問題は私が使用していたことだった – bknoles

関連する問題