【问题标题】:Haml Rails partial and locals issueHaml Rails 部分和本地问题
【发布时间】:2012-08-27 19:05:24
【问题描述】:

我刚开始玩 haml,我试图了解我做错了什么。

articles/edit.html.haml

=render partial: 'form', f: f
  .submit_field
    =f.submit "Update Article"

articles/_form.html.haml

=form_for @article do |f|
  -if @article.errors.any?
  #error_explanation
    %h2
      =pluralize(@article.errors.count, "error")
      prohibited this task from being saved:
      %ul
        -@article.errors.full_messages.each do |msg|
          %li=msg

  .text_field
    =f.label :title 
    %br
    =f.text_field :title

  .text_field
    =f.label :body
    %br
    =f.text_area :body, {rows: 10, cols: 40}

我收到此错误:语法错误,意外的keyword_ensure,期待$end at .submit_field。谁能指出我正确的方向?

【问题讨论】:

    标签: ruby-on-rails haml partial-views local-variables renderpartial


    【解决方案1】:

    尝试将提交按钮移到您的表单部分中:

    articles/edit.html.haml

    =form_for @article do |f|
      =render partial: 'form', f: f
    

    articles/_form.html.haml

    -if @article.errors.any?
    #error_explanation
      %h2
        =pluralize(@article.errors.count, "error")
        prohibited this task from being saved:
        %ul
          -@article.errors.full_messages.each do |msg|
            %li=msg
    
    .text_field
      =f.label :title 
      %br
      =f.text_field :title
    
    .text_field
      =f.label :body
      %br
      =f.text_area :body, {rows: 10, cols: 40}
    
    .submit_field
      =f.submit "Update Article"
    

    【讨论】:

    • 当我在我的表单功能中使用它时它工作正常,但我希望有“更新文章”来更新它和“创建新文章”而不是“创建文章”来创建新文章,所以我需要外面的提交按钮。我很好奇我是否可以这样做,因为使用 erb 标签它可以正常工作。这只是我试图弄清楚的事情。这就是我最终会使用的东西,谢谢。
    • 您可以通过重用表单字段来做到这一点,但只需将一个额外的参数传递给您的部分调用。 =render partial: 'form', f: f, button_label: "Update Article" 用于从编辑操作调用表单,=render partial: 'form', f: f, button_label: "Create New Article" 用于新操作。然后,您只需将=f.submit "Update Article" 替换为=f.submit button_label。希望有帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    相关资源
    最近更新 更多