首先,这是我的第一个 Rails 应用程序,所以请放纵...我阅读了http://guides.rubyonrails.org/association_basics.html中的 Rails 关联指南,然后开始编写我自己的项目。我的问题是我不能做像@project.user.email 这样的事情,因为@project.user 似乎一直都是零。这发生在所有对象上。@user.role.name 还会抛出“nil:NilClass 的未定义方法”;我确定我在模型定义方面做错了,但我不明白它是什么。我感谢您的帮助。谢谢。
class Role < ActiveRecord::Base
has_many :users
attr_accessible :name
end
class User < ActiveRecord::Base
belongs_to :role
has_many :projects
attr_accessible :email, :password, :password_confirmation, :role_id, :role
end
class Project < ActiveRecord::Base
belongs_to :user
belongs_to :project_type
attr_accessible :id, :project_type_id, :title, :description
end
class Project_Type < ActiveRecord::Base
has_many :projects
attr_accessible :name
end
例如,我所做的项目的索引视图(HAML):
%td= proyecto.user.email
这是行不通的。然而,
%td= proyecto.user_id
工作正常。