如何从rails中的标签助手中删除默认文本?

时间:2018-05-16 23:49:21

标签: ruby-on-rails

我已经在rails中实施了一个5星评级系统,并且使用了fontawesome星作为我的标签,所以想要删除在星星之间弹出的默认标签文本“Ratings”。

我可以通过引号自定义文本,但是当我在下面留下空格时,它不会按预期产生空格,但会恢复为默认行为:

 <%= form_for order do |f| %>
      <%= f.radio_button :rating, "5", class: "star-rating__input" %>
      <%= f.label :rating, ' ', title: "Rocks!", class: "star-rating__ico fa fa-star-o fa-lg" %>
      <%= f.radio_button :rating, "4", class: "star-rating__input" %>
      <%= f.label :rating, ' ', title: "Pretty good", class: "star-rating__ico fa fa-star-o fa-lg" %>
      <%= f.radio_button :rating, "3", class: "star-rating__input" %>
      <%= f.label :rating, ' ', title: "Meh", class: "star-rating__ico fa fa-star-o fa-lg" %>
      <%= f.radio_button :rating, "2", class: "star-rating__input" %>
      <%= f.label :rating, ' ', title: "Kinda bad", class: "star-rating__ico fa fa-star-o fa-lg" %>
      <%= f.radio_button :rating, "1", class: "star-rating__input" %>
      <%= f.label :rating, ' ', title: "Sucks!", class: "star-rating__ico fa fa-star-o fa-lg" %>
      <div class="clearfix"></div>
      <%= f.submit "Rate", class: "hidden btn btn-xs", id: "ratings-submit" %>
 <% end %>

我尝试过以下操作但没有成功:

<%= f.label :rating, '   ', title: "Rocks!", class: "star-rating__ico fa fa-star-o fa-lg" %>

<%= f.label :rating, '" "', title: "Rocks!", class: "star-rating__ico fa fa-star-o fa-lg" %>

<%= f.label :rating, "&nbsp;", title: "Rocks!", class: "star-rating__ico fa fa-star-o fa-lg" %>

<%= f.label :rating, "#{ }", title: "Rocks!", class: "star-rating__ico fa fa-star-o fa-lg" %>

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

您必须使用块来包含标签

<%= f.radio_button :rating, "5", class: "star-rating__input" %>
<%= f.label :rating do %>
  <i class="star-rating__ico fa fa-star-o fa-lg"></i>
<%- end -%>

或者您可以使用label_tag

<%= f.radio_button :rating, "5", class: "star-rating__input" %>
<%= label_tag :rating, '', class: "star-rating__ico fa fa-star-o fa-lg"%>