私はform_for
を持っています。私は自分のビューヘルパーで、あるユーザがグループから別のユーザを昇格させるようにしています。Rails:form_forの非表示フィールドがコントローラにパラメータを送信していません
def promote_button_for(group, user)
membership = group.get_membership(user)
form_for membership, :url => group_membership_path(group, membership) do |f|
f.hidden_field :group_creator
hidden_field_tag 'test', '1'
f.submit("Promote", :onclick => "return confirm(\"Are you sure you want to promote #{user.email} to an officer?\")")
end
end
ボタンを使用してフォームを送信すると、コントローラに送信される隠しフィールドのパラメータが表示されません。
Started POST "/groups/1/memberships/6" for 127.0.0.1 at 2011-02-01 01:45:32 -0600
Processing by MembershipsController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"VQl/rVX8OVOETv2HE7KtopUc3B19ShoMkUhjJwNlaZs=", "commit"=>"Promote", "group_id"=>"1", "id"=>"6"}
生成されたHTMLは次のようになります。
<form accept-charset="UTF-8" action="/groups/1/memberships/6" class="edit_membership" id="edit_membership_6" method="post">
<div style="margin:0;padding:0;display:inline">
<input name="utf8" type="hidden" value="✓" />
<input name="_method" type="hidden" value="put" />
<input name="authenticity_token" type="hidden" value="VQl/rVX8OVOETv2HE7KtopUc3B19ShoMkUhjJwNlaZs=" />
</div>
<input id="membership_submit" name="commit" onclick="return confirm("Are you sure you want to promote [email protected] to an officer?")" type="submit" value="Promote" />
</form>
すべてのヘルプは大、
おかげでいただければ幸いです!
ブリリアント、ありがとう!私はフォームヘルパーの内部でform_forに関する多くの情報を見つけることができませんでした。これは完璧な感謝の意を表します。 – Andrej