【问题标题】:How to add glympcon icons to the submit button in rails?如何将 glympcon 图标添加到 rails 中的提交按钮?
【发布时间】:2016-10-08 21:18:45
【问题描述】:

我想将 glympcon icon 添加到 f.submit 或 f.button 。我怎么能在rails中做到这一点?

  <% if action?('new') %>
    <%= f.button "Save", :class=>"btn btn-primary  btn-sm" ,:id => "validation" do%>
      <i class='fa fa-plus'></i>Add Shift
    <%end%>
  <%else%>
  <%= f.button "Save", :class=>"btn btn-primary  btn-sm" ,:id => "validation"  do%>
    <i class='fa fa-save'></i>Edit Shift      
  <%end%>
  <%end%>

这是给icons 我想要的。但是如果new表单中出现任何model validation error,我想将button的text显示为Add Shift,同样如果edit form中出现任何错误,我想显示button文本为Edit Shift。我如何在 Rails 中做到这一点?

【问题讨论】:

  • 请澄清您希望您想要的结果如何。您是否希望按钮文本保存“添加班次”而不是“保存”?您希望将文本放置在哪里?您的问题是关于添加图标(如主题所说)还是关于添加(放置?显示?)自定义文本以防出现错误?
  • 例如,我有一个字段“班次名称”,在这个字段上有一个存在验证。如果“新”操作中的验证失败,则它会再次呈现“新”页面。因此,在此页面中,我希望按钮文本为“创建班次”,类似地,当“编辑”操作中的验证失败时,它再次呈现同一页面,在此我希望按钮文本为“编辑班次”和图标.
  • 看看我的回答是否有帮助。另外请更新标题,因为它询问如何向按钮添加图标,并且您似乎想根据验证错误的存在来更改按钮名称。

标签: ruby-on-rails button icons submit


【解决方案1】:

希望我明白你想要什么。如果您使用 ActiveRecord 存在验证,那么目标模型对象(您为其构建表单的对象)将具有“错误”属性,并且可供您使用。属性的值是一个数组,所以你可以检查任何?关于这个。

您可以直接在视图中进行检查,例如

 <%= f.button(@main_object.errors.any? "Add Shift" : "Save", class: "btn btn-primary btn-sm", id: "validation") do %>
      <i class='fa fa-plus'></i><%= @main_object.errors.any? "empty??" : "Add Shift" %>
 <% end %>

或者您可以为布尔值(隐藏 @main_object.errors.any? 调用)定义一个辅助方法,或者根据此(或任何其他)检查返回带有适当标签文本的字符串。

如果您想根据相同的条件放置图标或标签,只需这样做

 <%= f.button "Save", class: "btn btn-primary btn-sm", id: "validation" do %>
      <%= "<i class='fa fa-plus'></i>" unless @main_object.errors.any? %>
      <% if !@main_object.errors.any? %> <i class='fa fa-plus'></i> <% end %>
      <%= "Add Shift" if @main_object.errors.any? %>
 <% end %>

有帮助吗?

【讨论】:

    猜你喜欢
    • 2021-05-27
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多