Выполнить содержимое rjs после обновления - PullRequest
1 голос
/ 21 декабря 2011

Я хотел бы что-то предупредить после обновления моей формы

Это мой код для метода обновления:

def update
  node_id = session[:node_id]
  @node = Node.find(node_id)

  respond_to do |format|
   if @node.update_attributes(params[:node])
    format.html {redirect_to add_loc_path(:node_id=>session[:node_id])} #redirects use to current page
    format.js #allowing the update method to respond to JavaScript
   end
  end
end

Это код формы:

<% form_for @expression, :url => { :controller => "expressions", :action => "update" } do |f| %>
...
<%= link_to_remote "say Hello", :url => { :controller => "expressions", :action => "update" }, :method => :get  %>
<%= f.submit 'Update' %> 
<% end %>

update.js.rjs:

page.alert('Hello')

Если я нажму на удаленную ссылку «скажи привет», содержимое «update.js.rjs» будетнасторожить.Однако, если я нажимаю кнопку «Обновить», ничего не появляется, фактически я получаю сообщение об ошибке:

    try {
    alert("Hello");
    }

 catch (e) { alert('RJS error:\n\n' + e.toString()); alert('alert(\"Hello\");'); throw e }

Я не понимаю, почему update.js.rjs работает нормально для link_to_remote.но выдает ошибку при вызове после нажатия на кнопку <%= f.submit 'Update' %>

Возможно ли выполнить содержимое файла rjs после нажатия на кнопку Обновить ??

1 Ответ

1 голос
/ 21 декабря 2011

Вы должны использовать remote_form_for вместо обычного form_for.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...