jQuery zostało użyte jako domyślna opcja, ale nikt Ci nie każe tej biblioteki używać. Nawet w 3.1 możesz po prostu wygenerować aplikację używając rails new -J prototype
Druga rzecz tutaj jest taka, że używasz RJS, które okazały się średnim pomysłem, przez co railsy się z tego wycofują. Ale dalej, w 3.0.7 one powinny działać, tylko domyślnie nie z jquery.
Sprawdź najlepiej której biblioteki rzeczywiście używasz. Jeżeli jQuery, to RJS bez żadnych dodatkowych pluginów raczej nie mają prawa działać. Jeżeli prototype, to powinny działać. Wkleiłeś w swoim poście jakiś komunikat, w jaki sposób go “dostajesz”? Mi to wygląda jak Javascript wygenerowany przez RJSa, więc albo rzeczywiście używasz jQuery, albo request ajaxowy prosi o HTMLa zamiast o javascripta. Przydałoby się też to o co prosi Paweł - może masz jakiś błąd w kodzie formularza
I warto byłoby też rozważyć propozycję gotara i użyć czystego javascriptu. Jeżeli używasz jQuery, to może to wyglądać tak:
// plik .js.erb
$('#myDivIDtoReplace').replaceWith(<%= render(:partial => 'partialView', :object => @objectToReplace).to_json %>);
Dzięki temu nie używasz żadnych nakładek tylko bezpośrednio używasz javascripta.
A przy okazji wytłumaczę się z laickiej opinii którą mi wypersfadowaliście
Otóż dopiero poznaję język i spotkałem kilka tutków z użyciem właśnie prototype (jako domyślnej biblioteki), gdzie są same ocho achy jakie to super. A potem okazuje się że to już nie są domyślne ustawienia itp. : P i człowiek zaczyna tęsknić wtedy za tamtym : (
Musiałeś jakieś starutkie artykuły wyszukać Patrz zawsze na datę i jeżeli są starsze niż ok. rok i nie jesteś pewien czy są aktualne, to lepiej podchodź z dużą dozą sceptycyzmu.
Otóż obecnie nie wywołuje mi w ogóle JS’a z szablonu js.erb.
Możecie mi polecić jakiś dobry tutorial do zrobienia AJAX’owego formularza w rails 3?
W pliku:
partialView.js.erb
mimo jednej krótkiej liniki kodu, edytor (aptana plugin do eclipsa) pokazuje mi bład:
",unexpected null"
Kontroler:
def renderUserView
@someone = User.find_by_someone_id(params[:id])
if (@someone.nil?)
render 'ups'
else
@objectToReplace = filter(params[:day], @someone)
end
end
Formularz który wywołuje akcje:
[/code]
partialView.html.erb
[code][/code]
partialView.js.erb
[code]$('#myDivIDtoReplace').replaceWith(aaa);[/code]
Muszę dodać html.erb gdyż inaczej mówi do mnie że nie mam formularza częściowego. daję go pustego. Ale mimo to, nawet nie podmienia na AAA.
myDivIDtoReplace znajduje się w widoku z katalogu LAYOUT.
p.s. Google nie zaserwował nic porządnego pod hasłami: Rails 3 Ajax form. : /