【发布时间】:2017-04-30 22:41:00
【问题描述】:
我正在尝试向 Rails 范围提交 2 个值。我需要半径(由范围标签提交)和邮政编码。
我在表单中有一个 fields_for 标记(在 haml 中):
=f.fields_for :postcode do |postcode_fields|
=postcode_fields.text_field(:postcode_d,placeholder: "HQ Location")
=postcode_fields.range_field(:max_range, in: 1..100)
范围:
scope :postcode, lambda {|input|
return nil if input.blank?
terms = Scotland.near(input[0], input[1])
where(
terms.map { |term|
" charity_id = ?"
}.join(' OR '),
*terms.map {|e|(e.charity_id)}.flatten
)
}
控制器:
def scotland_params
params.require(:scotland).permit!(:charity_number, :charity_name, :registered_date, :known_as, :charity_status, postcode: [:postcode_d,:max_range] , :constitutional_form)
end
问题似乎出在我对邮政编码的定义中。我尝试了多种方法来定义邮政编码哈希,但都没有奏效。对于我在这里使用的错误是
SyntaxError
(/Users/peterkentish/Documents/UNIVERSITY/SecondYear/Semester2/SoftwareHut/project/app/controllers/scotlands_controller.rb:46: syntax error, unexpected =>
..., :charity_status, postcode: =>[:postcode_d, :max_range] , :...
... ^
/Users/peterkentish/Documents/UNIVERSITY/SecondYear/Semester2/SoftwareHut/project/app/controllers/scotlands_controller.rb:46: syntax error, unexpected ',', expecting keyword_end
...: =>[:postcode_d, :max_range] , :constitutional_form, :previ...
... ^):
TL;DR 如何在 Rails 5 中传递嵌套属性?
编辑:
参数哈希(我认为):
@scotlands = Scotland.all
@filterrific = initialize_filterrific(Scotland, params[:filterrific]) or return
@scotlands = @filterrific.find.page(params[:scotlands])
@scotlands = @scotlands.paginate(page: params[:page], per_page: 20)
respond_to do |format|
format.html
format.js
【问题讨论】:
标签: ruby-on-rails ruby nested-attributes filterrific