Как реализовать такую структуру в миграции рельсов?

Как реализовать такую структуру в миграции рельсов?

1. Таблица Users и News
2. Задать таблице Users первичный ключ Login с типом String
3. Связать Users с News как один ко многим по полю Login с типом String

52b5fd8bca0d46d58070988673726f50.JPG
  • Вопрос задан
  • 158 просмотров
Решения вопроса 1
Попробуйте что-нибудь такое.

class News < ActiveRecord::Base
  belongs_to :user, foreign_key: :login, primary_key: :login
end

class User < ActiveRecord::Base
  has_many :news, foreign_key: :login, primary_key: :login
end


Миграции

class CreateNews < ActiveRecord::Migration
  def up
    create_table :news do |t|
      t.string :login, limit: 50
      t.timestamps null: false
    end
    add_foreign_key :news, :users, column: :login
  end

  def down
    remove_foreign_key :news, name: :login
    drop_table :news
  end
end

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users, id: false, primary_key: :login do |t|
      t.string :login, limit: 50, null: false
      t.timestamps null: false
    end
  end
end
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы