x-editable-rails: показывать значок вместо текстовой ссылки

Я использую гем x-editable-rails с начальной загрузкой, чтобы отобразить встроенное редактируемое поле для моей модели. Это конкретное поле является логическим полем, называемым «активным».

У меня есть это в моем представлении рельсов (тонкое), чтобы отобразить модель:

table.table
  thead
    tr
      th Name
      th Active
  tbody
    - @person.each do |person|
      tr
        td = person.name
        td = editable person, :active

Это отлично работает и генерирует записи с именем и true/false для активного поля.

Но «true/false» — это немного неэлегантный способ отображения логического поля, поэтому я хотел бы изменить это на glyphicon-ok / glyphicon-remove. Я могу отобразить значок, просто указав класс следующим образом:

td = editable person, :active, 
              class: "glyphicon glyphicon-#{person.active ? 'ok' : 'remove'}"

Однако это по-прежнему оставляет текст «истина/ложь». Как сделать так, чтобы он не отображал это?


person prajo    schedule 21.01.2014    source источник
comment
Вы пробовали это: td = editable person, (person.active ? 'ok' : 'remove') ?   -  person Surya    schedule 21.01.2014


Ответы (2)


Попробуй это:

= editable person, :active, classes: {"Yes" => "glyphicon-ok", "No" => "glyphicon-remove"}, class: "glyphicon"
person Tony Han    schedule 21.01.2014

Я понял это решение, если кому-то интересно. Я все еще был бы открыт для менее хакерского способа добиться этого.

добавить «активный» класс в ваше поле

td = editable person, :active, 
              class: "active glyphicon glyphicon-#{person.active ? 'ok' : 'remove'}"

В вашем js:

$(".editable").editable();
$(".active").html("");
person prajo    schedule 22.01.2014