簡體   English   中英

Rails 3 嵌套 Model 表格

[英]Rails 3 Nested Model Form

我在使用 Rails 3.1rc4 的表單中遇到了一些嵌套模型的問題。

我目前有看起來像這樣的模型:

class Sale < ActiveRecord::Base
  attr_accessible :customer_id, :vehicle_id, :sale_date

  belongs_to :customer
  accepts_nested_attributes_for :customer
end

class Customer < ActiveRecord::Base
  attr_accessible :dealership_id, :first_name, :last_name, :address1, :email

  belongs_to :dealership

  has_many :sales
  has_many :vehicles, :through => :sales

end

我顯然已經稍微截斷了這些,但所有重要信息都在那里。

我正在嘗試設置一個銷售表格,該表格還允許我創建一個新客戶,因此在銷售 model 中的接受_nested_attributes_for accepts_nested_attributes_for:customer行。

我的表單視圖看起來像(再次被截斷,只有重要部分):

    <%= form_for @sale, :html => {:class => 'fullform'} do |f| %>

        <%= f.error_messages %>

        <%= field_set_tag 'Customer Details' do %>
            <% f.fields_for :customer do |builder| %>
                <%= builder.label :first_name %><br>
                <%= builder.text_field :first_name %>
            <% end %>
        <% end %>
    <% end %>

我遇到的問題是,在呈現表單時,文本字段和 label for:first_name 都沒有出現 - 沒有錯誤消息,只是沒有出現。

我應該提一下,我在我的 controller 的new方法中嘗試了使用和不使用@sale.customer.build ,但似乎沒有效果。

謝謝!

誰能建議我做錯了什么?

編輯:為免生疑問,我的銷售控制器的新方法如下所示:

def new
  @sale = Sale.new
  @sale.customer.build
end

customer_attributes添加到Sale attr_accessible中的 attr_accessible。

另一個錯誤; 代替:

<% f.fields_for :customer do |builder| %>

和:

<%= f.fields_for :customer do |builder| %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM