将两个表关联到rails中

时间:2016-01-11 11:38:08

标签: ruby-on-rails ruby

我是rails的新手,作为一个示例项目,我想创建一个网页,我可以在其中显示所有状态列表,所有Contries列表和所有城市列表。我已经生成了一个模型Contry,我成功地向用户展示了所有的contries,并执行了诸如(编辑,显示,删除)之类的操作。现在我想添加模型状态,然后显示所有状态和相应的Contry。我从我的State模型中引用了Contry模型。但我不知道显示State和Contry模型的连接数据的语法。这是我在我的状态控制器创建方法中尝试的。任何帮助将不胜感激。

class CreateStates < ActiveRecord::Migration
 def change
   create_table :states do |t|
    t.string :name
    t.references :contry, index: true, foreign_key: true

    t.timestamps null: false
    end
  end
 end

这是我的状态模型Schema。

    Actions builder = new Actions(fDriver);
    builder.keyDown(Keys.CONTROL)
        .click(element)
        .dragAndDrop(element, elementDropped)
        .keyUp(Keys.CONTROL);

        Action selected = builder.build();

        selected.perform();

1 个答案:

答案 0 :(得分:0)

模型: Country.rb

has_many :states

State.rb

belongs_to :country

现在:

@country = Country.includes(:states).find(params[:id])
@states = @country.states

@state = State.includes(:country).find(params[:id])
@country = @state.country