Я хочу объединить два значения текстового поля формы и назначить их моему скрытому полю формы в представлении Rails:
<%= f.hidden_field :shortcode, :value => :package :pins %><br />
<div class="field">
<%= f.label :package_type %><br />
<%= select("package", "package_type_id", PackageType.all.collect {|p| [p.packagetype, p.id]} ) %>
</div>
<div class="field">
<%= f.label :pins %><br />
<%= f.text_field :pins %>
</div>
Я хочу, чтобы: shortcode возвращал объединенные значения значений: package +: pins, введенных в соответствующие поля формы.
Как мне это сделать?
Редактирование, чтобы показать код, используемый для реализации этого в качестве «ответа»:
$('#package_pins').blur(function() {
var combined = $('select#package_package_type_id option:selected').text() + $('#package_pins').val();
$('#package_shortcode').val(combined);
});
Добавил этот код в мой "packages.js" в директории app / assets / javascripts.
Обратите внимание, что, поскольку селектор package_type извлекает запись в поле принадлежащей модели, параметры выбора заполняются следующим образом:
<select id=package_package_type_id name="package[package_type_id]">
<option value="551">FFG</option>
<option value="552">FFC</option>
<option value="553">FTA</option>
</select>
где то, что я хотел получить из текста «FFG», а не значение «551», которое в данном случае является идентификатором записи из ActiveRecord. Я смог сделать это с помощью опции: selected '). Text () jquery code.
Еще раз спасибо @maprihoda за указание в правильном направлении!