我对这个例子有类似的问题。我是新手,已经阅读了几个小时来了解如何获得这个答案,但一直没有得到答案,非常感谢您的帮助!我按照 Kikito 的回答设置了以下模型:用户、照片、位置、照片关系。我的路线文件包含:
resources :users
resources :locations do
resources :photos
end
resources :photo_relationships
我能够将照片保存到我的应用程序中的正确位置,但我无法通过 Photo_Relationships 模型将多个用户(特别是照片的创建者)分配给照片。
class CreatePhotoRelationshipsTable < ActiveRecord::Migration
def change
create_table :photo_relationships do |t|
t.integer :photo_id
t.integer :user_id
t.integer :role_id
t.timestamps
end
照片控制器
def create
@location = Location.find(params[:location_id])
@photo = @location.photos.new(params[:photo])
@photo.create_photo_relationship(@photo, current_user, 0)
if @photo.save
flash[:notice] = "Successfully added your photo"
redirect_to [@mountain, @photo]
else
render :action => 'new'
end
end
Photo_Relationships 控制器
def create
@relationship = photo_relationships.new(params[:photo][:location])
@photo.create_photo_relationship()
end
我当前的错误是未定义的方法“photo_relationship”。非常感谢某人能够提供的任何帮助或指导。