У меня есть класс модели «рынок», который имеет много продуктов: модельДобавить строки динамически (Каждая строка представляет собой связанный экземпляр объекта)
class Market < ActiveRecord::Base
has_many :products
end
продукта:
class Product < ActiveRecord::Base
belongs_to :market
end
В моих взглядах рынков /new.html.haml и markets/edit.html.haml Я хотел бы иметь функцию, что новый/редактируемый рынок находится в форме, и внутри этой формы у меня есть «» Добавить продукт ", когда пользователь нажимает эту кнопку, одна строка будет добавлена в форме, подобной этому (каждая строка является экземпляром продукта и каждое поле ввода является атрибутом Product (название, цена, категория)), в HTML код:
<div>
<input type=text name="name" size=10 value="Name">
<input type=text name="price" size=10 value="Price">
<input type=text name="category" size=10 value="category">
<div>
<div>
<input type=text name=z3 size=10>
<input type=text name=z3 size=10>
<input type=text name=z3 size=10>
<div>
...When "Add product" button pressed, a new row of product input fields (div block) is added
<br>
<input type="submit" name="Add" value="Add product">
Как реализовать эту функцию «динамически добавляя ряд продуктов» в форме «Рынок»?
В файле представления Haml:
=form_for :market do |form|
...
=fields_for "product" market.product do |field|
=fields.text_field :name
=fields.text_field :price
=fields.text_field :category
/...When "Add product" button pressed, a new row of product input fields is added
=field.submit "Add product"
form.submit "Save"
Как реализовать, если я использую этот Haml файл для нового вида рынка/редактирования?
Вы пробовали его в Rails 3? – Mellon
yup Я попробовал это в rails 3. Я обновил свой ответ для более подходящей ссылки (для рельсов 3) – corroded
Отличные ссылки. Спасибо, вы прорвались, я попробую;) – Mellon