Я создаю приложение RoR, которое имеет 3 ресурса, вложенных в следующем порядке: Проекты -> Ленты -> XML_Fields. Проекты has_many Feeds, Feeds has_many XML_Fields. Моя проблема в том, что я застреваю при добавлении в представление Показать каналы возможности добавления нового XML_Field. Мой код ниже:
<h2>Add an XML field:</h2>
<%= form_for ([@feed, @feed.xml_fields.build]) do |f| %>
<div class="field">
<%= f.text_area :tag %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Выполнение этого возвращает NoMethodError: undefined method 'tag'
. Tag - это имя столбца в таблице xml_fields, которую я создал. Мой xml_fields_controller имеет этот метод создания:
def create
@xml_field = Feed.find(params[:feed_id]).xml_fields.build(params[:xml_field])
respond_to do |format|
if @xml_field.save
format.html { redirect_to( :back, :notice => 'XML Field was successfully created.') }
format.xml { render :xml => @xml_field, :status => :created, :location => [@xml_field.feed, @xml_field] }
else
format.html { render :action => "new" }
format.xml { render :xml => @xml_field.errors, :status => :unprocessable_entity }
end
end
конец
И мой файл маршрутизации выглядит так:
resources :projects do
resources :feeds
end
resources :feeds do
resources :xml_fields
end
Какие-нибудь предложения, чтобы убрать эту NoMethodError? Спасибо.