У меня есть следующая строка Rails 3
В модели project.rb это прекрасно работает:
permissions.find_by_project_id(1).role.name
Однако в projects_helper выдает ошибку «неопределенный метод` role 'для nil: NilClass ":
if Permission.find_by_project_id(project_id).role.name.nil?
.
.
Почему это?
Что я действительно хочу, это:
current_user.permission.find_by_project_id(project_id).role.name.nil?
Но это ошибки: "неопределенный метод` разрешение 'для # "
Можете ли вы помочь мне понять ActiveRecord, позволяющий мне создавать эти запросы?
Спасибо
добавлена информация:
permission.rb
class Permission < ActiveRecord::Base
belongs_to :user
belongs_to :project
belongs_to :role
end
project.rb
class Project < ActiveRecord::Base
has_many :permissions
has_many :users, :through => :permissions
end
role.rb
class Role < ActiveRecord::Base
has_many :permissions
end
user.rb
class User < ActiveRecord::Base
belongs_to :instance
has_many :books
has_many :permissions
has_many :projects, :through => :permissions