У меня есть модель пользователя, которая имеет атрибуты строки stage_name
и real_name
. То, что я хотел бы сделать, находится в моем _form.hmlt.erb
, у меня есть флажок рядом с полем ввода истинного имени, которое спрашивает: Настоящее имя - сценическое имя?. Если этот флажок установлен, я бы хотел присвоить реальное имя в качестве имени сцены и теперь изменить его имя реального времени input box with
real_name`. До сих пор у меня есть:Назначение атрибутов экземпляра модели на основе значения флажка
_form.html.erb
<%= form_for @user do |f| %>
<div>
<%= f.text_field :stage_name %>
<%= f.text_field :stage_name %>
</div>
<div>
<%= f.text_field :real_name %>
<%= f.text_field :real_name %>
# Not sure how to bind my model code to this checkbox
<%= f.checkbox %>
<%= f.label 'Real name is stage name?' %>
</div>
<div>
<%= f.submit %>
</div>
<% end %>
<script>
$(function() {
$("input[type='checkbox']").click(function() {
var $checkbox = $(this),
$secondForm = $("input[type='text']").eq(2);
if ($checkbox.is(":checked")) {
$secondForm.attr("disabled", true).val("<%= @user.real_name %>");
} else {
$secondForm.attr("disabled", false).val("");
}
});
)};
</script>
если вы проверки присутствия 'stage_name' затем добавить свой код в' before_validation' блока вместо 'before_save' –
: значение real_name_is_stage_name является не экономия. Добавлен код выше плюс допустимый ': real_name_is_stage_name' в методе user_params моего контроллера, но не повезло. –
Значение не должно быть сохранено, это только временное значение, которое скажет вам, установлен ли флажок или нет. Вы подтверждаете наличие «stage_name». Можете ли вы показать мне обновленный код модели? –