AJAX et position

Bonjour, debutant en Ajax sous ruby, je coince sur un petit probleme…

Voila j’ai une div que je souhaiterai mettre a jour en rajoutait du
texte a la suite, mais ca me remplace seulement le texte

Je vous mets tous le code concernant :

La vue :

<%= javascript_include_tag :defaults %>

<%= link_to_remote ("Show me the money!", :url => { :action => 'getmoney' }, :update => 'themoney', :postion => 'top') %>

Le controleur est vide.

Et la vue de ‘getmoney’ est tout simplement

Test

Merci d’avance

Alfref B. wrote:

Bonjour, debutant en Ajax sous ruby, je coince sur un petit probleme…

Voila j’ai une div que je souhaiterai mettre a jour en rajoutait du
texte a la suite, mais ca me remplace seulement le texte

Je vous mets tous le code concernant :

La vue :

<%= javascript_include_tag :defaults %>

<%= link_to_remote ("Show me the money!", :url => { :action => 'getmoney' }, :update => 'themoney', :postion => 'top') %>

Le controleur est vide.

Et la vue de ‘getmoney’ est tout simplement

Test

Merci d’avance

Si ton objectif est d’ajouter du texte à la suite du contenu existant
utilise ceci dans ton controller :

def getmoney
render :update do |page|
page.insert_html :bottom, ‘themoney’, “

Test


end
end

Tu peux aussi place ton page.insert_html dans ta vue getmoney en la
renommant en getmoney.rjs

Tony C. wrote:

Alfref B. wrote:

Bonjour, debutant en Ajax sous ruby, je coince sur un petit probleme…

Voila j’ai une div que je souhaiterai mettre a jour en rajoutait du
texte a la suite, mais ca me remplace seulement le texte

Je vous mets tous le code concernant :

La vue :

<%= javascript_include_tag :defaults %>

<%= link_to_remote ("Show me the money!", :url => { :action => 'getmoney' }, :update => 'themoney', :postion => 'top') %>

Le controleur est vide.

Et la vue de ‘getmoney’ est tout simplement

Test

Merci d’avance

Si ton objectif est d’ajouter du texte à la suite du contenu existant
utilise ceci dans ton controller :

def getmoney
render :update do |page|
page.insert_html :bottom, ‘themoney’, “

Test


end
end

Tu peux aussi place ton page.insert_html dans ta vue getmoney en la
renommant en getmoney.rjs

Lorsque je modifie le controleur ca m’ecrit :

try { new Insertion.Bottom(“themoney”,
“\u003Cp\u003ETest\u003C/p\u003E”); } catch (e) { alert(‘RJS error:\n\n’

  • e.toString()); alert(‘new Insertion.Bottom(“themoney”,
    “\u003Cp\u003ETest\u003C/p\u003E”);’); throw e }

J’ai deja eu ce probleme une fois, sans trouver de solution :frowning:

Pour ce qui est de mettre dans le .rjs j’ai dut sauté une etape, ca ne
m’affiche rien du tout…

Je dois juste mettre les 3 lignes dans getmoney.rjs ?

Merci

Bonjour,

Alors j’ai resolu un probleme, en effet, maintenant il prend en compte
mon .rjs, le probleme etait qu’il y avait toujours le .html.erb et quil
chargait donc celui la en priorite…

Par contre, il ne veut toujours pas m’interpreter le javascript :frowning:
J’ai toujours le message :
try { new Insertion.Bottom(“themoney”,
“\u003Cp\u003ETest\u003C/p\u003E”); } catch (e) { alert(‘RJS error:\n\n’

  • e.toString()); alert(‘new Insertion.Bottom(“themoney”,
    “\u003Cp\u003ETest\u003C/p\u003E”);’); throw e }

Je vous mets le code source de la page une fois generer, peut etre une
erreur que je n’arrive pas a voir …

Show me the money!

Et en bonus le code de la vue :

<%= javascript_include_tag :defaults %>
<%= link_to_remote ("Show me the money!", :url => { :action => 'getmoney' }, :update => 'themoney', :postion => 'top') %>

Merci d’avance parceque la je n’arrive vraiment pas a voir d’ou vient le
probleme, et je debute en AJAX :frowning:

Bonjour,

Le fichier rjs ne doit contenir que la ligne

page.insert_html :bottom, ‘themoney’, “

Test

L’objet page est automatiquement crée par le framework.

Pour ce qui est du message :

try { new Insertion.Bottom(“themoney”,
“\u003Cp\u003ETest\u003C/p\u003E”); } catch (e) { alert(‘RJS error:\n
\n’

  • e.toString()); alert(‘new Insertion.Bottom(“themoney”,
    “\u003Cp\u003ETest\u003C/p\u003E”);’); throw e }

Si je comprends bien, ce code apparait tel quel au lieu d’etre
executé ?
Je pense que “prototype” n’est pas chargé
Il faudrait placer la ligne ci-dessous

... <%= javascript_include_tag :defaults %> ... ...

dans app/view/layouts/application.rhtml à l’interieur de la balise

Alfref B. wrote:

Et en bonus le code de la vue :

<%= javascript_include_tag :defaults %>
<%= link_to_remote ("Show me the money!", :url => { :action => 'getmoney' }, :update => 'themoney', :postion => 'top') %>

Merci d’avance parceque la je n’arrive vraiment pas a voir d’ou vient le
probleme, et je debute en AJAX :frowning:

excuse moi, j’ai oublié de te dire d’enlever ceci dans ton
link_to_remote :
:update => ‘themoney’,

C’est ton rjs qui fait la mise à jour, tu n’as donc pas besoin de la
faire en retour de fonction

2008/5/3 Alfref B. :

<%= link_to_remote ("Show me the money!", :url => { :action => 'getmoney' }, :update => 'themoney', :postion => 'top') %>

à noter que tu as toujours la typo :postion au lieu de :position

– Jean-François.


RailsCamp Paris le samedi 17 mai 2008 :
http://rubyfrance.org/evenements/railscamp-paris

En effet ca marche beaucoup mieux comme ca :slight_smile:
Merci je vais pouvoir avancer un peu :slight_smile: