1
我具有用于与一个隐藏字段创建用户一个导轨形式:默认值时,没有选择的复选框
= hidden_field_tag "user[site_ids][]", @current_site.id, :data => @current_site.id, :class => 'current_site_id'
它设置CURRENT_SITE的SITE_ID。
我也有拥有所有的网站上列出了几个复选框:
- Site.all.each do |site|
%label.checkbox
= check_box_tag 'user[site_ids][]', site.id, false, :class => "sites_checkbox"
= site.name
我之所以隐藏字段是SI如果用户不选择任何它将至少设置复选框@current_site
。
我想使用JQuery这样的:如果用户选择的是我的值设置为999的复选框,其不处于分贝之一:
$(".roles_selected").click(function() {
var selected = $(this).closest("label");
if (selected.attr("data") == 'superadmin') {
$('.current_site_id').val(999);
} else {
$('.current_site_id').val($('.current_site_id').attr('data'));
}
});
和在控制器也许从除去999 params[:user][:site_ids]
这似乎很hackish ...任何其他的想法?
并且可能将其移至模型中(使用回调函数或使用自定义创建器的方法有很多选项) – tokland