Из немногих подробностей, которые вы дали, немного сложно догадаться, что вы пытаетесь сделать. Но я все равно попробую:
Когда вы хотите, чтобы у человека было ровно одно настроение за раз, я бы смоделировал его так:
class Person < ActiveRecord::Base
belongs_to :mood
end
class Mood < ActiveRecord::Base
has_many :people
end
Миграция для создания таблицы сотрудников в базе данных должна включать следующую инструкцию для создания внешнего ключа:
def self.up
create_table :people do |t|
...
t.references :mood
...
end
end
Если это то, что вы хотите, вы можете использовать команду collection_select
, как указано в flyfishr64.
Внутри тега form_for
в new.html.erb вы могли бы написать что-то вроде этого:
<% form_for @person do |f| %>
...
<%= f.collection_select :mood_id, Mood.all, :id, :mood_name, :include_blank => "--- Choose your mood ---" %>
...
<% end %>
Надеюсь, это поможет!
Однако, если вы действительно хотите, чтобы у вашего человека было несколько настроений одновременно, это было бы немного сложнее, и я, вероятно, предложил бы использовать has_and_belongs_to_many
ассоциацию в обеих моделях.
Если это так, я бы порекомендовал посмотреть этот эпизод Railscast: HABTM Checkboxes. (Извините, вы должны искать ссылку самостоятельно, поскольку мне не разрешено размещать более одной строки. Перейдите на railscast.com и найдите эпизод 17.)