Rails nested_form内nested_form [英] Rails nested_form inside nested_form
问题描述
我有以下模型和关系:
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
And I'm trying to have a nested_form inside a nested_form
= 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)
总体而言,这是格式.它有更多东西,但是为了不包含太多不必要的信息,我省略了表格的某些字段.
Overall this is the format. It has more things, but to not include too much unnecesary information I omitted some fields of the form.
但是出现以下错误
在690毫秒内完成500个内部服务器错误(ActiveRecord:6.1毫秒)
Completed 500 Internal Server Error in 690ms (ActiveRecord: 6.1ms)
SyntaxError-语法错误,意外的keyword_do_block; _slim_controls2 = request.fields_for:new_category_rate,请| u |; ^/project/app/views/new_rates/_category_rate_requests.html.slim:61: 语法错误,意外的keyword_ensure,预期输入结束:
SyntaxError - syntax error, unexpected keyword_do_block ; _slim_controls2 = request.fields_for :new_category_rate, do |u|; ^ /project/app/views/new_rates/_category_rate_requests.html.slim:61: syntax error, unexpected keyword_ensure, expecting end-of-input:
用红色标记的那一行是:
That line marked in red is:
= request.fields_for :new_category_rate, do |u|
有什么办法可以让我以一种形式拥有所有三个模型的属性?以Rate
形式更精确.
Is there any way I can have the attributes of all three models in one form? In the Rate
form more precisely.
推荐答案
(从评论复制)
在错误行中您还有一个逗号.更改为:
You have an extra comma in the erroring line. Change it to:
= request.fields_for :new_category_rate do |u|
这篇关于Rails nested_form内nested_form的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!