2013-07-09 1 views
1

У меня есть две модели, и у них нет никаких отношений, но в моей новой форме предложения я хочу выбрать тег для выбора страны предложения.form_for с помощью выделенного помощника с использованием двух моделей

Вот мое новое действие:

def new 
    @countries = Country.all 
    @offer = Offer.new 
end 

и это мой взгляд

<%= form_for(@offer) do |f| %> 
    <%= f.select @countries %> #I know this is wrong. 
    <%= f.submit %> 
<% end %> 

Любая идея.

Благодаря

ответ

1

Если вам необходимо выбрать страну предложение, что подразумевает, что должны быть отношения в моделях.

class Offer < ActiveRecord::Base 
    belongs_to :country 
end 

class Country < ActiveRecord::Base 
    has_many :offers 
end 

Вид:

<%= form_for :offer do |form| %> 
    <%= form.collection_select :country_id, Country.all, :id, :name %> 
    <%= form.submit %> 
<% end %> 

Если это не то, что вы после этого, пожалуйста уточните Ваш вопрос.

+0

Спасибо, Мэтт, эта работа, но я не понимаю, почему мне приходится устанавливать эти отношения между моделями. – Jean

+0

Это довольно простая концепция в области реляционных данных. Если у вас есть два объекта, и нужно выбрать экземпляр другого, то они связаны. В качестве примера: «человек» может иметь много «домашних животных», чтобы описать это и следить за животными-животными, каждый экземпляр «домашнего животного» будет иметь «человеческий_ид», теперь «домашнее животное» принадлежит человеку. Rails тесно сотрудничает с этой концепцией. – Matt

Смежные вопросы