【问题标题】:Rails form_with change submit textRails form_with 更改提交文本
【发布时间】:2018-05-19 21:53:57
【问题描述】:

我正在使用 form_with 助手创建一个新表单,并且您知道正在检测您是在新记录页面还是编辑页面上([按照 rails 指南中的 CRUD 示例][1],我将表单呈现为部分重用表单)根据我调用表单的位置更改提交按钮上的文本。

<%= form_with model: @article, local: true do |form| %>
   <p>
       <%= form.label :title %>
       <%= form.text_field :title %>
   </p>
   <p>
       <%= form.submit %>
   </p>
<% end %>

但我想将表单上的文本提交帮助程序以进行翻译,但我不知道是否可以保留创建/更新识别功能,以及是否有一些帮助程序或类可以配置这些标签。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-5


    【解决方案1】:

    不要用条件弄乱你的表单。把这些条件放在帮助类中

    form.rb

    .. ..

    你的辅助方法是这样的

    helper.rb

    def frm_action
      if @article.id.present?
        "Create"
      else
        "Update"
      end
    end
    

    【讨论】:

    • 加一个“不要用条件搞乱你的表单。把这些条件放在帮助类中”
    【解决方案2】:

    我用@article 对象处理这个问题!

    当表单从 create 方法呈现时,@article 中没有 ID 否则从 update 方法你将不得不传递一个 ID它会被更新。

    原来是这样:

    <% if @article.id.present? %>
      <%= form.submit "Update" %>
    <% else %>
      <%= form.submit "Create" %>
    <% end %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-03
      • 2015-10-25
      • 2020-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多