私は_form.html.erbでこれを持っています:
<%if current_user.role_id == 1 %>
<div class="combo_box">
<%= f.label :subscriber %>
<%= f.collection_select(:user_id, User.all,:id,:name,{:include_blank=>false}, :class => 'styled') %>
</div>
<div class="combo_box">
<%= f.label :group %>
<%= f.grouped_collection_select(:group_id, User.all,:support_agent_groups,:name,:id,:name, {:prompt => "-- Select a group --"}, :class => 'styled') %>
</div>
<div class="combo_box">
<%= f.label :role %>
<%= f.collection_select(:role_id, Role.all,:id,:name,{:include_blank=>false}, {:class => 'styled'}) %>
</div>
<div class="combo_box">
<%= f.label :subscription %>
<%= f.collection_select(:subscription_id, Subscription.all,:id,:name, {:prompt => "-- Select a subscription --"}, {:class=>'styled'}) %>
</div>
<% elsif current_user.role_id == 6 && @user.role_id != 6 %>
<%= f.hidden_field :user_id, :value => current_user.id %>
<%= f.hidden_field :subscription_id, :value => current_user.subscription_id %>
<div class="combo_box">
<%= f.label :group %>
<%= f.collection_select(:group_id, SupportAgentGroup.where(:user_id => current_user.id),:id,:name, {:prompt => "-- Select a group --"}, :class => 'styled') %>
</div>
<div class="combo_box">
<%= f.label :role %>
<%= f.collection_select(:role_id, Role.where('id <> ?', 1).where('id <> ?', 6),:id,:name,{:include_blank=>false}, {:class => 'styled'}) %>
</div>
<% elsif current_user.role_id == 6 %>
<%= f.hidden_field :user_id, :value => current_user.id %>
<%= f.hidden_field :role_id, :value => current_user.role_id %>
<%= f.hidden_field :subscription_id, :value => current_user.subscription_id %>
<div class="combo_box">
<%= f.label :group %>
<%= f.collection_select(:group_id, SupportAgentGroup.where(:user_id => current_user.id),:id,:name, {:prompt => "-- Select a group --"}, :class => 'styled') %>
</div>
<% else %>
<%= f.hidden_field :user_id, :value => current_user.user.id %>
<%= f.hidden_field :group_id, :value => current_user.group_id %>
<%= f.hidden_field :subscription_id, :value => current_user.user.subscription_id %>
<%= f.hidden_field :role_id, :value => current_user.role_id %>
<% end %>
ブラウザでfirebugオプションを使用して、検査要素の値を持つすべての隠しファイルを次のように表示できます
<input id="user_user_id" type="hidden" value="2" name="user[user_id]" />
値2
を変更できる場所100/200/....
サブミントでは、新しい値100/200/...
が db に保存するために投稿され、db に保存されました。
ビューとコントローラーですべての条件をチェックして、適切なデフォルト値を見つける必要がありますか..またはhidden_filedを使用してこのセキュリティの問題を修正するオプション.
助けてくれてありがとう...