Ответ 1
Попробуйте сделать следующее:
f.input :address1, placeholder: "Address Line 1", label: false
Я пытаюсь создать обычную простую форму
= simple_form_for [:hq, @team, @order] do |f|
.tickets
= f.select :tickets, :aaa => "aaa"
= render "ticket"
.details
.left
= f.input :address1
= f.input :address2
= f.input :state
= f.input :country
= f.input :email
.right
= f.input :comments
Но я хочу, чтобы входы не отображались с меткой, а только заголовок "Адресная строка 1" в заполнителе.
Я знаю, что могу сделать это с помощью f.input :address1, :placeholder => "whatever", :label => ""
, но я бы хотел, чтобы он настраивался с помощью обертки и принимал метку формы значения i18n, а не placeholder.
Попробуйте сделать следующее:
f.input :address1, placeholder: "Address Line 1", label: false
Если вы хотите использовать javascript, вот фрагмент jQuery, который выполняет задание:
$.each($(".left .input"), function() {
var label = $("label",$(this)).text();
$("label",$(this)).hide();
$("input",$(this)).attr("placeholder",label);
});
Основное преимущество использования js для этого случая заключается в том, что результат остается совместимым с экранными записями (они будут читать метку, потому что они не будут запускать js).