2017-10-04 2 views
0

私はこのフォームを持っていますが、コントローラに渡す変数client_idはすでにあります。私はhidden_​​field_tagを使う必要があるようです。私はそれを試したが、私の構文が正しいとは思わない。私は間違って何をやっているの?おかげであなたが使用する必要がありますレールに隠しフィールドタグを使用する方法

<%= form_for(@assessment) do |f| %> 
    <div class="field"> 
    <%= f.label :weight %><br> 
    <%= f.text_field :weight %> 
    </div> 
    <div class="field"> 
    <%= f.label :heartrate %><br> 
    <%= f.text_field :heartrate %> 
    </div> 
    <div class="field"> 
    <%= f.label :bodyfat %><br> 
    <%= f.text_field :bodyfat %> 
    </div> 

    <%= hidden_field_tag :client_id, @client.id %> 

    <div class="actions"> 
    <%= f.submit %> 
    </div> 
<% end %> 
+0

ここで@clientオブジェクトを設定していますか?そしてどうやって? – krishnar

答えて

1

やってみてください。

<%= f.hidden_field :client_id, value: @assessment.client_id %> 

あなたの前に問題になっているとして、あなたはnewアクションでの@ assessment.client_idを設定している、ので。

1

client_idはassessment_paramsの一部であるべきですか?その場合は、フォームオブジェクトに添付することができます(<%= f.hidden_field :client_id, value: @client.id)。

それ以外の場合は、評価用パラメータのハッシュの外側でタグが通過する必要があります。

1

<%= f.hidden_field :client_id, :value => @assessment.client_id %>

4

参照してください次のリンクhidden_fieldまたはあなたはそれがHTMLに変更

<%= f.hidden_field :client_id, 1 %> 

を使用hidden_field_tag

 <%= f.hidden_field :client_id, 1 %> 
     <%= hidden_field_tag 'client_id', '1' %> 

<input type="hidden" id="request_client_id" name="request[client_id]" value="1" /> 

とあなたはそれがとてもHTML

<input id="client_id" name="client_id" type="hidden" value="1"/> 

に変更

<%= hidden_field_tag 'client_id', '1' %> 

を使用する場合、私はあなたが<%= f.hidden_field :client_id, @client.id %>

が、それはあなたのために働くことを願っています使用する必要があり、ここだと思います。

関連する問題