ruby-on-rails ruby-on-rails-3 activerecord activemodel

ruby on rails - ¿Cómo configurar una relación de uno a muchos?



ruby-on-rails ruby-on-rails-3 (3)

De acuerdo con la configuración de su base de datos, solo tiene que agregar las siguientes líneas a sus modelos:

class User < ActiveRecord::Base belongs_to :network # Rest of your code here end class Network < ActiveRecord::Base has_many :users # Rest of your code here end

En caso de que tenga una configuración sin network_id, debe ir con la respuesta de daniels.

Tengo los siguientes modelos:

User (id, name, network_id) Network(id, title)

¿Qué tipo de asociación de modelos de Rails debo agregar para poder hacer:

@user.network.title @network.users

Gracias


Este es mi camino: corre:

$rails generate migration AddNetworkIdToUsers

luego config configura el archivo:

class AddNetworkIdToUsers < ActiveRecord::Migration[5.1] def up add_column :users, :network_id, :integer add_index :users, :network_id end def down remove_index :users, :network_id remove_column :users, :network_id end end


así que la red tiene has_many usuarios y un usuario belongs_to red.

Simplemente agregue un network_id a la tabla de usuarios si aún no lo ha hecho y también, ya que es una foreign_key vale la pena foreign_key .

rails generate migration AddNetworkIdToUsers

class AddNetworkIdToUsers < ActiveRecord::Migration def change add_column :users, :network_id, :integer add_index :users, :network_id end end

En el modelo de red haz:

class Network < ActiveRecord::Base has_many :users end

En el modelo de usuario hacer:

class User < ActiveRecord::Base belongs_to :network end