Я относительно новичок в рельсах. Я пытаюсь установить связь «один ко многим» в рельсах. Однако, я думаю, что я делаю что-то не так с моей foreign_key, так как мой тест терпит неудачу. Мой тест заключается в следующем:Rails: неверный неверный номер один на один
В user_spec:
it {should have_many :invitations}
модель Пользователь:
has_many :invitations
пригласительные модель:
belongs_to :sender, :class_name => "User"
Приглашение миграции:
class CreateInvitations < ActiveRecord::Migration
def change
create_table :invitations do |t|
t.integer :sender_id
t.string :token
t.timestamps
end
end
end
Я получаю ошибку из теста:
Failure/Error: it {should have_many :invitations}
Expected User to have a has_many association called invitations (Invitation does not have a user_id foreign key.)
Я не уверен, где я неправильно. Есть идеи?
t.integer: sender_id изменить на t.integer: user_id в процессе миграции – Fivell
нормально, имеет смысл. Я получил эту часть перехода от ретрансляции. http://railscasts.com/episodes/124-beta-invitations , если я захочу сохранить: sender_id в процессе миграции (в случае, если я приношу recipient_id тоже ... как мне настроить свой код? – Karan
Используйте ': foreign_key'. См. Мой ответ. – klump