从Rails表单

时间:2016-11-14 16:35:40

标签: css ruby-on-rails ruby

我有一个简单的表单,只需将#active属性设置为true / false。在表单中只有一个hidden_field。以下是我当前#active状态为true时表单的提交按钮。

active button

点击后,表单会提交并将#active属性更改为false。重新显示时,它将如下所示:

inactive button

基本上,表单用作切换开关,在幕后提交一个将属性切换为true / false的表单。

它非常有效。但是,我不想要任何默认的button样式。我不想要那个灰色的盒子或边框。相反:我只想显示按钮的字体真棒字形,就是这样。

以下是我目前使用灰色按钮css显示glyphicon的代码:

<td>
  <%= form_for blog do |f| %>

    <% if blog.active %>
      <%= f.hidden_field :active, value: false  %>
    <% else %>
      <%= f.hidden_field :active, value: true  %>
    <% end  %>

    <% if blog.active? %>
      <%= f.button do %>
        <i class="fa fa-toggle-on fa-2x text-success" aria-hidden="true"></i>
      <% end %>
    <% else %>
      <%= f.button do %>
        <i class="fa fa-toggle-off fa-2x text-danger" aria-hidden="true"></i>
      <% end %>
    <% end  %>
  <% end %>
</td>

问题:如何从f.submit按钮中取出按钮样式并仅使用glyphicon来表示提交按钮?

1 个答案:

答案 0 :(得分:0)

很想知道是否有更好的解决方案。基本上我所做的就是添加了一个新的css类,它将background属性设置为none,将border属性设置为none

<% if blog.active? %>
  <%= f.button, class: 'remove-submit-btn-style' do %>
    <i class="fa fa-toggle-on fa-2x text-success" aria-hidden="true"></i>
  <% end %>
<% else %>
  <%= f.button, class: 'remove-submit-btn-style' do %>
    <i class="fa fa-toggle-off fa-2x text-danger" aria-hidden="true"></i>
  <% end %>
<% end  %>

然后在app/assets/stylesheets/application.scss

.remove-submit-btn-style {
  background: none;
  border: none;
}

active

inactive