【发布时间】:2014-10-11 15:48:08
【问题描述】:
我有 3 个模型
class User < ActiveRecord::Base
has_many :projects
has_many :project_files, through: :projects
class Project < ActiveRecord::Base
belongs_to :user
has_many :project_files
class ProjectFile < ActiveRecord::Base
belongs_to :project
当我使用类似的东西创建project_file 时:
@project = current_user.projects.find(params[:id])
@project.project_files.new
它不会将用户 id 保存到 project_file 记录中,但会保存项目 id。
我希望能够通过调用@project_file.user 来访问它的用户并返回 id
【问题讨论】:
-
我认为您的语法:
@project.project_file.new不正确,您确定它有效吗?应该是:@project.project_files.new。 -
抱歉我在这个例子中写错了我现在已经编辑了代码。我的代码中有
@project.project_files.new -
抱歉,
current_user.project.find(params[:id])也应该是:current_user.projects.find(params[:id]) -
抱歉,我也解决了这个问题。
-
您在
ProjectFile中似乎与User没有任何关联,您到底在期待什么?
标签: ruby-on-rails ruby activerecord relationship