2
我是新来的红宝石......我在user.rb得到一个名称错误NameError - 未定义的局部变量或方法'收藏夹
NameError - undefined local variable or method `favorites' for #<User:0x007fc0e19a8720>:
activemodel (4.0.5) lib/active_model/attribute_methods.rb:439:in `method_missing'
activerecord (4.0.5) lib/active_record/attribute_methods.rb:167:in `method_missing'
app/models/user.rb:17:in `favorited'
app/views/favorites/_favorite.html.erb:2:in `_app_views_favorites__favorite_html_erb__4203159933335848505_70233146456940'
这是我user.rb文件:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :confirmable
has_many :posts, dependent: :destroy
has_many :comments
has_many :votes, dependent: :destroy
has_many :users, dependent: :destroy
mount_uploader :avatar, AvatarUploader
def role?(base_role)
role == base_role.to_s
end
def favorited(post)
favorites.where(post_id: post.id).first
end
end
这是我favorite.rb文件:
类收藏<的ActiveRecord :: Base的
has_many :users, dependent: :destroy
has_many :posts, dependent: :destroy
结束
我不明白为什么我得到名称错误。
您尚未定义名为'favourites'的关联。 – usha 2014-09-22 19:40:02