rails cancan first time use with roles_mask -


first time use of cancan roles_mask. keep getting undefined method '&' "1":string in edit view.

form.html.erb

<% role in user::roles %>       <%= check_box_tag "user[roles][]", role, @user.roles.include?(role) %>       <%=h role.humanize %><br />     <% end %>     <%= hidden_field_tag "user[roles][]", "" %> <% end %> 

user.rb

class user < activerecord::base   devise :database_authenticatable, :registerable,          :recoverable, :rememberable, :trackable, :validatable     attr_accessible :email, :password, :password_confirmation, :remember_me, :firstname, :lastname, :username, :roles     roles = %w[admin manager employee banned]        def roles=(roles)         self.roles_mask = (roles & roles).map { |r| 2**roles.index(r) }.sum       end        def roles         roles.reject |r|           ((roles_mask || 0) & 2**roles.index(r)).zero?         end       end        def role?(base_role)         roles.index(base_role.to_s) <= roles.index(role)       end        def is?(role)         roles.include?(role.to_s)       end end 

are defining roles_mask somewhere "1"? roles accessor dying because bitwise & operator not defined string class. may need roles_mask_var.to_i calling roles setter.

ian.


Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -