У меня есть модель в моем приложении для направляющих, которое использует :class_name
атрибут для has_one
:
class Foo < ActiveRecord:Base
has_one :main_bar, :class_name => "Bar"
# ...
end
Я немного не уверен, что вставить миграцию для этого класса теперь. Я могу использовать ссылки? Что будет направляющие искать как имя столбца для :main_bar
? Я могу сделать это как это?
class CreateFoos < ActiveRecord::Migration
def self.up
create_table :foos do |t|
t.references :main_bar
end
end
def self.down
drop_table :foos
end
end
Спасибо!
Вы не кладите ничего в таблицу с отношениями «HAS_ONE». Enternal_key идет в другой стол. В вашем примере выше, вам нужно добавить внешний ключ к вашим таблице
.
В миграции вы можете использовать:
t.references :foo
или:
t.integer :foo_id
Либо один будет работать.