我是新来的铁轨,我对模型关联有点困惑。 这里是对需要做什么的简要描述。 我有一个User
模型,即has_many project
和Project
has_many upload
,Upload
belongs_to project
和Project
belongs_to user
。铁轨4模型协会
到目前为止它工作正常,用户可以访问那里的项目,并从该项目访问那里上传。 事情是,任何用户都可以访问每个用户的项目并上传。通过改变URL本地主机:3000 /项目/ 9 /上传/ 57 我需要的项目和上传仅由正确的用户
schema.rb(如何创造了项目和上传用户)访问
create_table "projects", force: true do |t|
t.string "name"
t.string "comment"
t.integer "user_id"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "uploads", force: true do |t|
t.integer "project_id"
t.datetime "created_at"
t.datetime "updated_at"
t.string "edl_file_name"
t.string "edl_content_type"
t.integer "edl_file_size"
t.datetime "edl_updated_at"
end
create_table "users", force: true do |t|
t.string "name"
t.string "email"
t.datetime "created_at"
t.datetime "updated_at"
t.string "password_digest"
t.string "remember_token"
end
用户模型
has_many :project
has_many :upload, :through => project
项目模型
belongs_to :user
has_many :upload, :dependent => :destroy
上传模式
belongs_to :project
has_one :user, :through => :project
的routes.rb
resources :users
resources :projects do
resources :uploads do
end
end
关系可能?你会怎么做?