2017-10-04 43 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 %> 

因爲,在你之前的問題,您是在設置@ assessment.client_id在new行動。

1

client_id應該是assessment_params的一部分嗎?如果是這樣,您可以將其附加到表單對象,即<%= f.hidden_field :client_id, value: @client.id

否則我認爲你的標籤應該通過,只是在評估params散列之外。

1

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

4

請參考以下鏈接hidden_field或當您使用

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

它更改爲HTML 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" /> 

,當你使用

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

它更改爲HTML

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

所以,我覺得在這裏你應該使用<%= f.hidden_field :client_id, @client.id %>

希望它會爲你工作。

相關問題