Rud*_*iel 0 ruby ruby-on-rails
说我有这种形式,但已经有一个要传递给控制器的变量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 %>
Run Code Online (Sandbox Code Playgroud)
尝试做:
<%= f.hidden_field :client_id, value: @assessment.client_id %>
Run Code Online (Sandbox Code Playgroud)
因为,就像您之前的问题一样,您在new操作中设置了 @assessment.client_id 。
请参考以下链接hidden_field 或hidden_field_tag
<%= f.hidden_field :client_id, 1 %>
<%= hidden_field_tag 'client_id', '1' %>
Run Code Online (Sandbox Code Playgroud)
使用时请注意
<%= f.hidden_field :client_id, 1 %>
Run Code Online (Sandbox Code Playgroud)
它更改为html
<input type="hidden" id="request_client_id" name="request[client_id]" value="1" />
Run Code Online (Sandbox Code Playgroud)
当你使用
<%= hidden_field_tag 'client_id', '1' %>
Run Code Online (Sandbox Code Playgroud)
它更改为html
<input id="client_id" name="client_id" type="hidden" value="1"/>
Run Code Online (Sandbox Code Playgroud)
所以,我认为您应该在这里使用 <%= f.hidden_field :client_id, @client.id %>
希望它对您有用。
| 归档时间: |
|
| 查看次数: |
5445 次 |
| 最近记录: |