1

したがって、パラメーターexperience_idをexperience_skillsコントローラーの新しいアクションに渡す次のリンクがあります。

<%= button_to 'Add Skill', new_experience_skill_path(:experience_id => experience.id),:remote => "true", :class => "btn", :id => "new-experience-skill-btn" %>

これは問題なく機能します。つまり、params [:experience_id]が適切な値です。

問題は、いくつかのjavascriptとajaxが正しく機能するために、experience_skillsコントローラーのcreateアクションでparams [:experience_id]にアクセスする必要があることです。

createアクション内の新しいアクションに渡されたパラメーターにアクセスするにはどうすればよいですか?

よろしくお願いします。そしてもちろん、あなたが私に正しい答えを与えれば、私はそれを受け入れます。-アレックス

4

2 に答える 2

1

params [:experience_id]にアクセスしようとしている場所はどこですか?新しいアクションで、またはアクションを作成しますか?

あなたのフォームでは、あなたはこのようにすることができます、例:

   <div class="field">    
       <%= f.hidden_field :experience_id, :value => @instant_obj.id %>
   </div>

次に、コントローラーで新しいアクションを実行します

 @instant_obj = CLASS.find(params[:experience_id])

それがあなたを助けることができるかどうかわからない..

変更:間違いがない場合は、新規でのみ、私のシナリオから言えば、メッセージの新しいコントローラーでは、非表示フィールドであるadvertising_idが必要です。メッセージを作成するには、advertising_idも必要です。します

@advertisement = Advertisement.find(params[:advertisement_id])
@message = Message.new(:advertisement_id => @advertisement.id)

次に、メッセージモデル(アクションの作成コントローラーにあります)を保存すると、すべての詳細が保存されます。

于 2013-01-23T04:12:33.357 に答える
0

newでformを使用する場合は、非表示フィールドからこの値を送信できます。

于 2013-01-23T04:04:24.607 に答える