我正在构建一个应用程序,我需要将行添加到来自多个其他模型的表中。Rails 3 - 在另一个模型中的多个模型形式
这是我到目前为止(抱歉的草率代码,第一个项目与红宝石/铁轨)。我意识到我仍然缺少代码中的一些关键元素以便正常工作,我只想确保我首先以正确的方式进行操作。一旦我让所有的东西都能正常工作,我也会将表格移动到一个部分。
# app/views/ticketbuilder/show.html.erb
<ul>
<% @event.sections.each do |s| %>
<li><%= s.name %></li>
<ul>
<% s.locations.each do |l| %>
<li><%= l.name %></li>
<% end %>
</ul>
<% end %>
<li>
<%= form_for([:event, :ticketbuilder], :url => event_ticketbuilder_url) do |s| %>
<%= s.text_field(:section) %> <%= submit_tag("Add Section") %>
<%= s.hidden_field(:event_id, @event.id) %>
<% end %>
</li>
</ul>
# routes.rb
resources :event do
resources :ticketbuilder
end
# ticketbuilder_controller.rb
class TicketbuilderController < ApplicationController
def show
@event = Event.find(params[:event_id])
end
def new
@section = Section.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @event }
end
end
end
# error message
undefined method `model_name' for Symbol:Class
我遇到的问题是将窗体发送到ticketbuilder控制器。我试图完成的是有一个座位部分的列表与子元素的位置。我希望能够直接在列表页面上添加新的部分和位置。
任何建议将不胜感激。
当我提交一个新的“部分”,我得到没有路线匹配“/事件/ 1/ticketbuilder/1”我认为这是有关的道路,但不知道它应该改为 – 2011-03-25 14:52:43
对不起,我认为问题在于,建造者是单一的。试试:url => event_ticketbuilders_path(@event) – DanneManne 2011-03-25 16:57:11