2012-05-10 7 views
0

私は以下の関連性を持つ2モデルを持っています。ゴールインデックスページで別のモデルを編集するには

goal.rb

has_one :progress 

progress.rb

belongs_to :goal 

、「私は、その特定の目的のための進捗レコードを編集すると仮定リンクを持っているが、私はcouldn進行記録の正しいレコードIDを見つけることができます。私のlink_toコードは以下の通りです。正しい進行IDの代わりに目標IDを渡します。

アプリ/ビュー/目標/ index.html.erb

<%= link_to 'Progress', edit_progress_path(goal) %> 

どのように私はこれについて行く必要があります。

ありがとうございます。私はRailsの "魔法" を使用してのが好きだ

<%= link_to 'Progress', edit_progress_path(goal.progress) %> 
+0

多くの進捗状況のうち、どれを編集しますか? –

+0

基本的に目標は1つの進捗のみです。ですから、goal.idと同じgoal_idを持つ進捗を編集したいと思います。それが意味をなさないならば。 – Azren

+1

それではなぜ関係は 'has_one 'ではなく' has_many'ですか? –

答えて

2

あなたはedit_progress_path方法にgoalオブジェクトが、progressオブジェクトを渡すべきではありません

<%= link_to 'Progress', [:edit, goal.progress] %> 
+0

ありがとう、それは動作します:-) – Azren

4

乾杯、 Azren

+0

ありがとう、それは動作します:-)。どのようなことがこれを行うレールの方法になりますか?上記またはこれ? – Azren

+0

もちろん、鉱山! :-)真実は、 '[:edit、goal.progress]を使って' edit_progress_path'を呼び出すことになりますが、シーンの背後にあります。長いスコープのパスを構築するときに便利です。 – jdoe

関連する問題