templates/cancan.rb in prologue-0.3.0 vs templates/cancan.rb in prologue-0.3.6
- old
+ new
@@ -85,31 +85,14 @@
.form_row
- Role.find(:all, :order => "name").each do |role|
.check_box_item
= check_box_tag "user[role_ids][]", role.id, @user.roles.include?(role), :id => "user_role_#{role.id}"
%label{:for => "user_role_#{role.id}"}= role.name.humanize
+ = hidden_field_tag "user[role_ids][]", ""
RUBY
end
- inject_into_file 'app/controllers/admin/users_controller.rb', :after => "@user = User.new(params[:user])\n" do
- <<-'RUBY'
- @user.role_ids = params[:user][:role_ids] if current_user.role? :admin
- RUBY
- end
-
- inject_into_file 'app/controllers/admin/users_controller.rb', :before => "if @user.update_attributes(params[:user])\n" do
- <<-'RUBY'
- @user.send(:attributes=, { :role_ids => params[:user][:role_ids] }, false) if current_user.role? :admin
- params[:user].delete(:role_ids)
-
- RUBY
- end
-
- inject_into_file 'app/controllers/admin/users_controller.rb', :after => "def update\n" do
- <<-'RUBY'
- params[:user][:role_ids] ||= []
- RUBY
- end
+ gsub_file 'app/controllers/admin/users_controller.rb', /# attr_accessor logic here/, '@user.accessible = [:role_ids] if current_user.role? :admin'
end
append_file 'db/seeds.rb' do
<<-FILE
Role.create! :name => 'Admin'