0

我有一个名为的模型cause.rb,它有一个名为的范围pesquisa,我想在表中查询原因,字段是对其他表的引用。我想从模型原因中调用具有名为 city 的字段的表位置。

原因表:

class CreateCauses < ActiveRecord::Migration
  def change
    create_table :causes do |t|
      t.string :title, null: false
      t.text :description, null: false
      t.boolean :anonymous, default: false
      t.integer :count_likes, default: 0
      t.integer :count_dislikes, default: 0
      t.integer :count_visits, default: 0
      t.references :user
      t.references :category

      t.timestamps
    end
    add_index :causes, :user_id
    add_index :causes, :category_id
  end
end

class AddPlaceIdToCauses < ActiveRecord::Migration
  def change
    add_column :causes, :place_id, :integer
  end
end

地方表:

class CreatePlaces < ActiveRecord::Migration
  def change
    create_table :places do |t|
      t.string :description
      t.decimal :latitude
      t.decimal :longitude
      t.references :city

      t.timestamps
    end
    add_index :places, :city_id
  end
end

这是范围:

scope :pesquisa, ->(pesquisa) { where("cause.place.city like :p or category_id like :p ", p: "%#{pesquisa}%") }
default_scope :order => "id desc"

我该如何解决这个问题?我在上面尝试这个cause.place.city来调用表格中的城市,但没有任何反应。

4

0 回答 0