加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails 3嵌套模型表单

发布时间:2020-12-17 02:29:38 所属栏目:百科 来源:网络整理
导读:我使用Rails 3.1rc4在表单中遇到嵌套模型的一些问题. 我目前的模型看起来像这样: class Sale ActiveRecord::Base attr_accessible :customer_id,:vehicle_id,:sale_date belongs_to :customer accepts_nested_attributes_for :customerend 和 class Custome
我使用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

我显然已经略微截断了这些,但所有重要信息都存在.

我正在尝试设置一个销售表单,这也将允许我创建一个新客户,因此在销售模型中的accepts_nested_attributes_for:客户行.

我的表单视图看起来像(再次被截断,只有重要部分):

<%= 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 %>

我遇到的问题是,在呈现表单时,文本字段和:first_name标签都没有显示 – 没有错误消息,它只是没有出现.

我应该提一下,我已经在我的控制器的新方法中使用和不使用@ sale.customer.build进行了尝试,但它似乎没有任何效果.

谢谢!

任何人都可以建议我做错了什么?

编辑:为避免疑问,我的销售总监的新方法如下:

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

解决方法

将customer_attributes添加到Sale模型中的attr_accessible.

另一个错误;更换:

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

附:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读