Cześć, mam problem i złość bierze górę nad rozsądkiem (wydawało mi się, że proste przykłady - np. z Ajax on Rails).
Chcę zrobić update jakiegoś elementu o danym id, danymi wpisanymi do pola formularza:
widok app/views/abc/index.rhtml
[code=ruby]<%= form_remote_tag :update => “reversed”,
:url => { :controller=> ‘xyz’ , :action => ‘reverse’ } %>
Text to reverse: <%= text_field_tag 'text_to_reverse' %>
<%= submit_tag 'Reverse!' %>
<%= end_form_tag %>[/code] kontroler app/controller/xyz_controller.rb [code=ruby]def reverse @reversed_text = params[:text_to_reverse].reverse render :layout => false end[/code] Jedyna modyfikacja, to ta, że akcja jest wywoływana z innego kontrollera. No i teraz zamiast uaktualnić mi pole od id reversed, railsy chcą odemnie template app/views/xyz/reverse.rhtmljeśli przykład wyglądałby następująco:
widok app/views/abc/index.rhtml
[code=ruby]<%= form_remote_tag :update => “test_localize”,
:url => { :controller => ‘xyz’, :action => ‘find_localize’ } %>
Text to reverse: <%= text_field_tag 'some_text' %>
<%= submit_tag 'Reverse!' %>
<%= end_form_tag %>[/code] kontroler app/controller/xyz_controller.rb [code=ruby]def find_localize @cos = params[:some_text] logger.info("cos = " + @cos.to_s) end[/code] to chce odemnie app/views/location/find_localize.rjs , a gdy on będzie np:page.replace_html 'reserved', @cos
to zamiast oczekiwanego wyniku, poprostu zwrócony jest javascript do przeglądarki
co robię źle?
PS. Napisłem w przykładzie:
:update => "test_localize"
oczywiście chodziło o reserved, choć pole test_localize także było (również uwzględniłem w rjs)