У меня есть форма, работающая в настройках моего пользователя для отображения или скрытия части профиля пользователя.Форма - check_box_tag
, и при ее нажатии я использую jQuery для отправки формы.Это все работает хорошо.Нажатие на флажок переключает логическое значение с true
на false
или наоборот.Тем не менее, я бы хотел, чтобы флажок отображался как проверенный, если значение моего логического значения равно false
.Как мне сделать это, учитывая мой код ниже?
Мой контроллер действия для update_attribute
профиля:
def edit_show_hometown_settings
@profile = current_user.profile
if @profile.show_hometown == true
if @profile.update_attributes(:show_hometown => false)
redirect_to settings_path
else
redirect_to settings_path, :notice => 'Oops, something went wrong. Please try again.'
end
elsif @profile.show_hometown == false
if @profile.update_attributes(:show_hometown => true)
redirect_to settings_path
else
redirect_to settings_path, :notice => 'Oops, something went wrong. Please try again.'
end
end
end
Моя форма:
<%= form_tag({:action => "edit_show_hometown_settings", :controller => "profiles"}, :html => {:multipart => true }) do %>
<%= check_box_tag :show_hometown %>
<%= @user.profile.hometown %>
<% end %>
JQueryЯ использую для отправки формы:
$(function(){
$(':checkbox').live('click',function() {
$(this).closest('form').submit();
});
});