まず第一に、これは私の最初の Rails アプリケーションなので、甘やかしてください... http://guides.rubyonrails.org/association_basics.htmlにある関連付けに関する Rails ガイドを読んでから、自分のプロジェクトのコーディングを開始しました。私の問題は、@project.user が常に nil のように見えるため、@project.user.email のようなことができないことです。これはすべてのオブジェクトで発生します。@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
正常に動作します。