Rails способ установить отношения для этой модели - PullRequest
0 голосов
/ 23 июня 2011

Будучи новичком в Ruby and Rails, я не был уверен, как объяснить это в своем названии, поэтому я сделаю это здесь.Моя цель состоит в том, чтобы создать много Продуктов, и у них есть только одно Общее местоположение на отправку.

У меня есть Product MVC, и быстрый уродливый эскиз формы будет выглядеть примерно так:* Общее местоположение

form_for @product

<p>
<%= f.label :location %>:<br>
<%= f.text_field :location %>
</p>

Продукт один

<p>
<%= f.label :name %>:<br>
<%= f.text_field :name %>
<%= f.label :price %>:<br>
<%= f.text_field :price %>
</p>

Продукт два (такой же)

<p>
<%= f.label :name %>:<br>
<%= f.text_field :name %>
<%= f.label :price %>:<br>
<%= f.text_field :price %>
</p>

Продукт три (такой же)

<p>
<%= f.label :name %>:<br>
<%= f.text_field :name %>
<%= f.label :price %>:<br>
<%= f.text_field :price %>
</p>

<%= f.submit %> 
<% end %>

Как бы вы его настроили, чтобы это отношение могло иметь место, чтобы, когда пользователь создает 3 формы в форме, он имелтолько одно место для всех 3 из них?

Ответы [ 2 ]

2 голосов
/ 23 июня 2011

Таким образом:

class Location < AR::Base
  has_many :products
end

class Product < AR::Base
  belongs_to :location
end

Затем вы устанавливаете маршрут вложенного ресурса:

resources :locations do
  resources :products
end

И когда вы добавляете местоположение, вы можете добавлять в него продуктыс fields_for.

0 голосов
/ 23 июня 2011

требуется ли использовать nested_attributes_for в этом сценарии ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...