0

我对这个例子有类似的问题。我是新手,已经阅读了几个小时来了解如何获得这个答案,但一直没有得到答案,非常感谢您的帮助!我按照 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”。非常感谢某人能够提供的任何帮助或指导。

4

1 回答 1

0

类的名称PhotoRelationship不是photo_relationships

您的控制器行应为:

@relationship = PhotoRelationship.new(params[:photo][:mountain])
于 2013-02-14T00:03:27.807 回答