Tak to jest jak się niedokładnie czyta http://docs.jquery.com. Masz tu poniżej działający przykład z użyciem metody, jaką polecałem w swojej książce. Masz duże zdolności do niepotrzebnego komplikowania kodu. Żadne eval’e nie są potrzebne. Renderowanie JS z możliwością wstawiania Ruby załatwiają szablony JS.ERB.
[code]# app/controllers/hello_controller.rb
class HelloController < ApplicationController
def index @title = “Próba AJAX’a” @msg = “Hello World!”
end
end
views/hello/index.html.erb
Kliknij tutaj a wyskoczy okienko z napisem <%= h @msg %>
views/hello/index.js.erb
alert(’<%= j @msg %>!’)
views/layouts/application.html.erb
<%= h @title %>
<%= javascript_include_tag 'jquery', 'application' %>
[quote=swistaczek]to z alertem to tylko przykład,
będe zwracał coś typu:
$("#comment_form").fadeIn("slow")
$("#comments").replaceWith("TEST")
etc.
krzyzak: a z evalem to jak to zrobić?[/quote]
Nie lepiej wywolac ten kod w callbacku zamiast zwracac go w response body?
[quote=s0lnic][quote=swistaczek]to z alertem to tylko przykład,
będe zwracał coś typu:
$("#comment_form").fadeIn("slow")
$("#comments").replaceWith("TEST")
etc.
krzyzak: a z evalem to jak to zrobić?[/quote]
Nie lepiej wywolac ten kod w callbacku zamiast zwracac go w response body?[/quote]
Mógłbyś podać przkład?
Po co ma Ci podawać przykład? Przyjrzyj się w dokumentacji link_to_remote opcjom wspólnym dla wszystkich ajaxowych helperów, konkretnie może Cię zainteresować :complete