0

私は次のフォームを持っています:

<% form_for(:tag, :url => {:action => "post_tag", :id => @photoID}) do |form| %>
  <%= error_messages_for(:tag) %>
  <% if @errors then %>
  <%= @errors[0] %>
  <% end %>
  <p><%= form.select(:user_id, @userHash) %></p>
  <p><%= form.hidden_field(:xpos) %></p>
  <p><%= form.hidden_field(:ypos) %></p>
  <p><%= form.hidden_field(:width) %></p>
  <p><%= form.hidden_field(:height) %></p>
  <%= submit_tag "Submit Tag" %>
<% end %>

ただし、コントローラーには値が入力されていません。Firebug で正しい値を持っていることがわかるので、値がすべてビューに表示されていることがわかります。params[:xpos]コントローラーでは、のようにアクセスしようとしています:xpos hidden_field。これは正しいです???

4

1 に答える 1

1

するlogger.debug params.inspect。私はあなたがそこに見るであろうこっそりの疑いを持っていますparams[:tag][:xpos]:)

そこにタグを形成するための名前を渡しました( ) 。渡された名前(この場合は「タグ」)で識別されるハッシュのようにform_for(:tag, ...) do |form|構築されたすべてのフィールドをラップします。form.field(...)

于 2009-11-20T15:25:33.540 に答える