首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ruby on rails项目中的多个嵌套窗体

ruby on rails项目中的多个嵌套窗体
EN

Stack Overflow用户
提问于 2016-06-12 18:26:51
回答 1查看 262关注 0票数 0

我尝试在一个表单中使用多个嵌套属性,尽管似乎只出现了第一组属性。

下面是HAML模板

代码语言:javascript
复制
.mdl-cell.mdl-cell--10-col.mdl-cell--1-offset
  %h3.mdl-typography--display-1= t('.account_title')
  = form.fields_for :address do |address_fields|
    .mdl-grid
      .mdl-textfield.mdl-js-textfield.mdl-textfield--floating-label.mdl-cell.mdl-cell--6-col
        = address_fields.text_field :first_name, class: 'mdl-textfield__input'
        = address_fields.label :first_name, class: 'mdl-textfield__label'
      .mdl-textfield.mdl-js-textfield.mdl-textfield--floating-label.mdl-cell.mdl-cell--6-col
        = address_fields.text_field :last_name, class: 'mdl-textfield__input'
        = address_fields.label :last_name, class: 'mdl-textfield__label'
      .mdl-textfield.mdl-js-textfield.mdl-textfield--floating-label.mdl-cell.mdl-cell--6-col
        = form.text_field :name, class: 'mdl-textfield__input'
        = form.label :name, class: 'mdl-textfield__label'
      .mdl-textfield.mdl-js-textfield.mdl-textfield--floating-label.mdl-cell.mdl-cell--6-col
        = form.email_field :email, class: 'mdl-textfield__input'
        = form.label :email, class: 'mdl-textfield__label'
  %h3.mdl-typography--display-1= t('.bank_title')
  = form.fields_for :account do |account_fields|
    .mdl-grid
      .mdl-textfield.mdl-js-textfield.mdl-textfield--floating-label.mdl-cell.mdl-cell--6-col
        = account_fields.text_field :bsb, class: 'mdl-textfield__input'
        = account_fields.label :bsb, class: 'mdl-textfield__label'
      .mdl-textfield.mdl-js-textfield.mdl-textfield--floating-label.mdl-cell.mdl-cell--6-col
        = account_fields.text_field :account_number, class: 'mdl-textfield__input'
        = account_fields.label :account_number, class: 'mdl-textfield__label'
      .mdl-textfield.mdl-js-textfield.mdl-textfield--floating-label.mdl-cell.mdl-cell--12-col
        = account_fields.text_field :account_name, class: 'mdl-textfield__input'
        = account_fields.label :account_name, class: 'mdl-textfield__label'

模型中的定义

代码语言:javascript
复制
accepts_nested_attributes_for :address, reject_if: proc { |attributes| attributes['address1'].blank? }
  accepts_nested_attributes_for :trading_hours
  accepts_nested_attributes_for :phones, :reject_if => lambda { |t| ( t['display_number'].gsub(/\D+/, '').blank?) }
  accepts_nested_attributes_for :account
EN

回答 1

Stack Overflow用户

发布于 2016-06-12 18:53:53

在父表单上,您需要为表单构建每个附加属性(这是一个新表单,我相信您可以在def new ...下的控制器中完成此操作)

代码语言:javascript
复制
def new
  @parent.address.build
  @parent.trading_hours.build
  @parent.phones.build
  @parent.account.build
end

如果你不想做一个新的表单,请让我知道并更新问题

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37773170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档