我正在構建一個應用程序,我需要將行添加到來自多個其他模型的表中。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