【问题标题】:Why a syntax error rises for the form_for with nested resources?为什么带有嵌套资源的 form_for 会出现语法错误?
【发布时间】:2013-10-01 07:59:34
【问题描述】:

我有一个 form_for 表单助手:

  = form_for([@search, @search_request], url: {action: @search_form[:search_action]}, method: @search_form[:http_method], remote: true, html: {id: @search_form[:html_id]}, data: {type: "json"}) do |search_current_form|
    - @search_params.each do |search_param|
      = render partial: "search/search_param", locals: {search_param: search_param, search_form: @search_form, search_current_form: search_current_form, search_request: @search_request}

部分在search/search_param:

.input-group
  span.input-group-addon
    = search_current_form.check_box(:search_request, :#{"enable_" + search_param[:name]}, {class: "param_enabled_checkbox"}, true, false)
  = search_current_form.text_field(:search_request, :#{"param_" + search_param[:name]}, {class: "param_value_input"})

但我得到一个错误:

SyntaxError
Showing ./app/views/search/_search_param.html.slim where line #19 raised:

./app/views/search/_search_param.html.slim:19: syntax error, unexpected ';', expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END
; @output_buffer.safe_concat((...
 ^
./app/views/search/_search_param.html.slim:20: syntax error, unexpected ';', expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END
; @output_buffer.safe_concat(("</div></td></tr>")); @output_buffer
 ^
./app/views/search/_search_param.html.slim:21: syntax error, unexpected keyword_ensure, expecting ')'
./app/views/search/_search_param.html.slim:23: syntax error, unexpected keyword_end, expecting ')'

可能是什么问题?中的参数数量错误:

= search_form.text_field(:search_request, :#{"param_" + search_param[:name]}, {class: "param_value_input"})

?此行在“Extracted source (about line #19):”中是红色的:

【问题讨论】:

    标签: html ruby-on-rails syntax-error form-helpers slim-lang


    【解决方案1】:

    尝试使用:

    :"enable_#{search_param[:name]}"
    

    【讨论】:

    • 之前已经有这个了,所以在改变之后我得到了另一个错误,但即使在之前的行中:undefined method `merge' for :enable_user_id:Symbol
    • 如果我这样做 - 错误只会在下一行出现。
    • 这是我之前问过的一个错误:stackoverflow.com/questions/19105260/…
    • 我想,这可以帮助stackoverflow.com/questions/4721058/…
    • 是的,check_box_tag 有效,但我想使用模型绑定变体
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 2013-01-14
    • 2011-01-16
    • 1970-01-01
    • 2012-07-08
    相关资源
    最近更新 更多