Я пытаюсь создать простую вложенную форму, проверяя множество ресурсов в Интернете, но не могу найти то, что мне не хватает! У меня есть следующий:Простая вложенная форма, но, похоже, не работает
class Configuration < ActiveRecord::Base
has_many :configoptions
accepts_nested_attributes_for :configoptions
end
class Configoption < ActiveRecord::Base
belongs_to :configuration
has_many :items
end
Теперь я пытаюсь сделать простую форму при выборе конфигурации, так что бы показать configoptions принадлежащего к нему, но ничего не работает!
Это мнение без HTML
<%= form_for :config do |f| %>
<%= f.text_field(:name)%>
<% f.fields_for @options do |option|%>
<% end %>
<% end %>
В контроллере у меня есть:
def show
@config = Configuration.find(params[:id])
@options = @config.configoptions
end
Но я в конечном итоге получаю ошибку:
undefined method `model_name' for Array:Class
Кто-нибудь есть советы для меня? Большое спасибо!
Благодаря Адам. Когда я попробую второй метод, который вы предложили, я действительно получаю то, что мне нужно, поскольку перечислены все различные параметры. Однако по первому, по какой-то причине это не так. В моих вариантах некоторые будут выпадающими списками, которые пользователь сможет выбрать. Есть ли способ предложить метод, как только я нажму кнопку отправки, чтобы создать новую конфигурацию с параметрами, выбранными в форме? Как вы думаете? Большое спасибо! – Lievcin
Эй, 'accepts_nested_attributes' должен работать над созданием конфигурации с выбранными параметрами. В вашем контроллере вам просто нужно иметь '@conf = Configuration.build (params [: config]); @ conf.save' для создания конфигурации и вложенных объектов опций конфигурации. Позвольте мне знать, если это то, что вы ищете. – Adam