首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails nested_form inside nested_form

Rails nested_form inside nested_form
EN

Stack Overflow用户
提问于 2016-08-16 14:15:21
回答 2查看 793关注 0票数 0

我有以下模式和关系:

代码语言:javascript
复制
Rate fields
  t.string :type
  t.string :name

class Rate < ActiveRecord::Base
  has_many :category_rate_requests
end

CategoryRateRequests fields
  t.date :date_from
  t.date :date_to

class CategoryRateRequests < ActiveRecord::Base
  belongs_to :rate
  has_many :category_rates
end

CategoryRate 
  t.integer :room_category_id
  t.integer :new_rate_id
  t.integer :category_rate_request_id
  t.integer :amount

class CategoryRate < ActiveRecord::Base
  belongs_to :rate
  belongs_to :category_rate_request
  belongs_to :room_category
end

我想让nested_form在nested_form里面

代码语言:javascript
复制
= nested_form_for @rate do |f|
  = label_tag :name, t('rates.new.name'), class: 'grey h2'
  = f.text_field(:name, required: true, class: 'form-input form-control full-width-input')
  = f.fields_for :category_rate_request do |request|
    = request.text_field(:date_from,  class: 'date-input form-control start-date-input', type: 'text', 'data-provide': 'datepicker', placeholder: t('common.date_from'))
    = request.text_field(:date_to, class: 'date-input form-control end-date-input', type: 'text', 'data-provide': 'datepicker', placeholder: t('common.date_to'))
    = request.fields_for :category_rate, do |u|
      = u.number_field(:price, class: "form-control", placeholder:  placeholder)

总的来说,这是格式。它有更多的东西,但为了不包括太多不必要的信息,我省略了表单中的一些字段。

但是我得到了以下错误

完成500台内部服务器690 in错误(ActiveRecord: 6.1ms) /project/app/views/new_rates/_category_rate_requests.html.slim:61:-语法错误,意外的keyword_do_block;_slim_controls2 = request.fields_for :new_category_rate,do \u\x;^ SyntaxError语法错误,意外的keyword_ensure,期望输入结束:

用红色标出的那一行是:

= request.fields_for :new_category_rate, do |u|

有任何方法我可以拥有所有三个模型的属性在一种形式吗?在Rate表单中更精确。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-28 21:54:34

(抄录自评论)

在错误行中有一个额外的逗号。改为:

代码语言:javascript
复制
= request.fields_for :new_category_rate do |u|
票数 0
EN

Stack Overflow用户

发布于 2016-08-16 14:41:13

我不知道你是否出于某种特定的原因需要使用那个宝石,但我认为它没有被更新太久才能使用它。

我使用,使用简单的表单您只需做:

代码语言:javascript
复制
simple_form_for @a do |f|
  f.simple_fields_for :b do |b_f|
    b_f.simple_fields_for :c do |c_f|
      ...
    end
  end
end

您也可以非常友好地使用link_to_add_associationlink_to_remove_association

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

https://stackoverflow.com/questions/38977301

复制
相关文章

相似问题

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