首页 > 关于rails 嵌套属性问题

关于rails 嵌套属性问题

Model

class Product
  include Mongoid::Document
  field :name, type: String
  field :description, type: String
  ...
  embeds_one :pricing
end

class Pricing
  include Mongoid::Document

  field :retail, type: Integer, default: 0
  field :sale, type: Integer, default: 0

  embedded_in :product
end

现在我要添加一条 Product

= form_for(@product) do |f|
  .form-group
    = f.label :slug
    = f.text_field :slug, class: 'form-control'
  .form-group
    = f.label :sku
    = f.text_field :sku, type: 'email', class: "form-control"
  .form-group
    = f.label :name
    = f.text_field :name, class: 'form-control'
  .form-group
    = f.label "pricing.sale"
    = f.text_field "pricing.sale", class: 'form-control'
  .actions
    = f.submit "确 认", class: 'btn btn-default btn-block'

pricing 能不能用 pring.sale, pring.retail 直接和 product 的其他参数提交上去了?


自己解决了

  = f.fields_for :pricing do |pricing_fields|
    .form-group
      = pricing_fields.label :retail
      = pricing_fields.text_field :retail, class: 'form-control', value: @product.pricing.retail
    .form-group
      = pricing_fields.label :sale
      = pricing_fields.text_field :sale, class: 'form-control', value: @product.pricing.sale

【热门文章】
【热门文章】