Мне нравится делать это немного по-другому.
<%= form_tag feedback_url, :remote => true, :id => 'feedback_form' do %>
...
<% end %>
<script type="text/javascript">
$("form#feedback_form").submit(function(event){
$('flash_notice').css('display', 'block');
return condition() == true
});
</script>
Если обработчик отправки для формы возвращает false, он не будет отправлять форму. (Я уверен, что это так, но event.preventDefault () может работать, если это не так)
И это также позаботится о предыдущих условиях.
Для полного и обновления, хотя я считаю, что лучше использовать другой шаблон. Например, допустим, что ваша форма подчиняется «новому» действию какого-либо контроллера. Вы можете иметь шаблон new.js.erb с
$('flash_notice').css('display', 'none')
doSomething();
В этом шаблоне у вас также есть доступ к переменным экземпляра, определенным в контроллере.