私はレール2.3.11で作業しています。Railsでサブミットして特定のパラメータが送信されているかどうかを確認する方法
私はすべてのための単一の保存ボタンで保存しようとしていますサブカテゴリのチェックボックスのリストを持って、各カテゴリについては
<% form_for '', :url => { :action => 'save_subcategories' } do %>
<% for cat in @categories %>
<ul class="checkboxlist" style="display:none;" rel="<%= category.id %>">
<% for category in categories %>
<li>
<%= check_box_tag "#{cat.name}[subcategory_ids][]", subcategory.id,
category.subcategories.include?(subcategory) %><%= subcategory.name.titleize %>
</li>
<% end %>
</ul>
<% end %>
<%= submit_tag "Save Subcategories" %>
に疑問を持っています。
フォームを提出すると、そのサブカテゴリのいずれかがチェックされているカテゴリのみが送信されます。また、完全にチェックされていないサブカテゴリがparams経由で送信されない他のカテゴリに対しては送信されません。だから私のアクションで
は:私のカテゴリーのいずれかが、それものparamsでカテゴリを送信していないとしてチェックサブカテゴリのどれを持っていないかのように
def save_subcategories
categories = Categoryall
for cat in categories
unless params["#{ cat.name }"][:subcategory_ids].blank?
category_to_edit = role
category.subcategories.clear
subcategories=Subcategories.find(params["#{ cat.name }"][:subcategory_ids])
category_to_edit.subcategories<<subcategories
end
end
redirect_to :action => 'index'
end
上記のコードでエラーが発生します。
コードのインデントを整理できますか。 – dangerousdave