On Jun 16, 2011, at 1:22 AM, rajeevkannav wrote:
class User < ActiveRecord::Base
has_many :correlations
has_many :roles, :through => :correlations
has_many :skills, :through => :correlations
attr_accessible
:email
, :password
, :password_confirmation
, :remember_me
, :role_ids
, :skill_ids
, :username
, :first_name
, :last_name
, :address
, :city
, :state
, :country, :phone_number, :photo,:fullname, :shortbio, :weburl
Why do you have these att_accessible things? If these are the columns
from the database table users, then ActiveRecord will already take
care of those. I think you should take out the entire attr_accessible
line and try again. (Well, depending on how they are used, you might
need to retain a `attr_accessor ... Ah, you have attr_accessible (an
ActiveRecord thing) not attr_accessor (a Ruby thing).) OK, so I still
wonder if having :skill_ids in that list is wrong since it is not a
column, but a method added by ActiveRecord. (and same for :role_ids)
def role?(role)
return !!self.roles.find_by_name(role.to_s.camelize)
end
def skill?(skill)
return !!self.skills.find_by_name(skill.to_s.camelize)
end
Unless you actually depend on true/false rather than just truthiness,
you don't need the !! (or the return)
def role?(a_role)
self.roles.find_by_name(a_role.to_s.camelize)
end
end
class Correlation < ActiveRecord::Base
belongs_to :role
belongs_to :skill
belongs_to :user
end
class Skill < ActiveRecord::Base
has_many :correlations
has_many :roles, :through => :correlations
has_many :users, :through => :correlations
end
class Role < ActiveRecord::Base
has_many :correlations
has_many :skills, :through => :correlations
has_many :users, :through => :correlations
end
module ArticlesHelper
def skill_list
skills_ids = current_user.skill_ids
skills_ids.delete_if {|x| x == nil}
skills = Skill.find(skills_ids)
return skills
end
end
if working fine but on heroku console
@user.skill_ids
NoMethodError: undefined method `skill_ids' for
#<ActiveRecord::Relation:0x00000005515b58>
@user.role_ids
NoMethodError: undefined method `skill_ids' for
#<ActiveRecord::Relation:0x00000005515b58>
Any idea?
Pleaase help
ccdd
-Rob
Rob Biedenharn
[email protected] http://AgileConsultingLLC.com/
[email protected] http://GaslightSoftware.com/
--
You received this message because you are subscribed to the Google Groups "Ruby on
Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.