回答:
やったほうがいい:
<%= f.hidden_field :service, :value => "test" %>
hidden_field
2番目の引数としてハッシュを期待します
<%= hidden_field_tag :service, "test" %>
使用していないときも書いているので、一貫性がありませんform_for |f|
...
hidden_field_tagの代わりにhidden_fieldを使用しています。_tag以外のバージョンを使用しているので、コントローラーはフォームをバッキングするオブジェクトのその属性の値をすでに設定していると想定されます。例えば:
コントローラ:
def new
...
@order.service = "test"
...
end</pre>
見る:
<%= form_for @order do |f| %>
<%= f.hidden_field :service %>
<%= f.submit %>
<% end %>
Ruby 1.9とRails 4では問題なく動作します
<%= f.hidden_field :service, value: "test" %>
Ruby 1.9のハッシュの新しい構文を使用したバージョン:
<%= f.hidden_field :service, value: "test" %>
ちなみに、サーバーからブラウザーにデータを送信するために非表示フィールドを使用していません。データ属性は素晴らしいです。できるよ
<%= form_for @order, 'data-service' => 'test' do |f| %>
そして、jqueryで属性値を取得します
$('form').data('service')