#~ S.O.S AJAX/GET/CONTROLLER/CASE/ETC/ = ok mais pas > ça
Bonjour, je me pseudomme zepo, je suis une fille, je débute et j’ai
besoin de votre aide
Je me prends la tête sur une opération. C’est une petit test pour que je
comprenne bien comment fonctionne MVC/AJAX
J’ai débuté Ruby sérieusement il y a une semaine comme ça ou deux, car
je dors plus
Voici le contexte de mon problème: Je ne comprends pas la chose la plus
basique qui soit.
J’ai simulé l’arrivée de mon url dans mon controller pour tester mon
ajax une url,
en la construisant, bien que j’aurais pu la mettre directement dans
URI() ou parse etc.
Je sais pas comment expliquer.
Le model Lifestyle n’est pas en relation avec ActiveRecord pour m’éviter
quelques contraintes durant le test
L’action est diet.erb appelée par une fonction javascript qui le show
dans le _my_diet dans une span
La vue est layout application.rhtml#lifestyle#index.erb, elle rend un
partial _my_diet.erb
Le truc c’est que j’ai le mauvais sentiment d’avoir tout fait à l’enver
et je ne comprends pas, malgrés la doc, car j’ai beaucoup de mal avec
les markup,
Comment diable mon GET et cette *** d’url qui arrive en header,que je
vois en live avec LiveHTTP Header, je la fait venir dans mon code pour
de vrai en live ??
vu que mon case fonctionne, mon ajax aussi, tout fonctionne mais pas
quand je me dis c’est le moment de faire venir cette *** url dans la
zone
ou est h dans mon essai bah je trouve pas, je trouve pas comment faire
quelle methode …
Je comprends pas qui request qui dans mon histoire… et qui lit qui.
HELP
_my_diet ( pas encore avec FormHelper ou FormTagHelper )
Vegetarien Vegetalien Canibale ...
le javascript
…
oa = new Oajax();
o = oa.createOajax();
function sendQ(){
for( i=1 ; i<=3 ; i++ ){
if( this.document.getElementById(“f”).regime.options[i - 1].selected
){
this.o.open(‘get’, ‘diet?ou=’+i, true);
this.o.onreadystatechange = helpQ;
this.o.send(null);
}
}
}
function helpQ(){
if (o.readyState == 4){ document.getElementById(“bj”).innerHTML =
o.responseText; }
}
le ruby
#~ fxri irb:session:1
#~ first:part:paste
require ‘uri’
require ‘net/http’
#~ model test
class Lifestyle
@@diets = { :veran => ‘vegetarian’, :vegan => ‘vegetalian’, :cani =>
‘cannibal’ }
def initialize(style = :style)
@style = style
end
def diet
@@diets[@style]
end
end
#~ => nil
#~ second part:paste
#~ :controller => ‘lifestyle’, => :action ‘diet’
h = URI::HTTP.build(:scheme => ‘http’, :host=> ‘localhost’, :port =>
‘3000’, :path => ‘/lifestyle/diet’, :query => ‘ou=2’)
#~ => #<URI::HTTP:0x62e916c
URL:http://localhost:3000/lifestyle/diet?ou=2>
@s = URI(“#{h}”).query.slice(3,2)
#~ => “2”
#~ variant @s =
URI.split(“#{h}”)[7].slice(3,2)
case @s #~ => “2”
when 1.to_s #~ /\w*[ou]?[0-1]$/
@diet = Lifestyle.new(:veran).diet
when 2.to_s #~ /\w*[ou]?[1-2]$/
@diet = Lifestyle.new(:vegan).diet
when 3.to_s #~ /\w*[ou]?[2-3]$/
@diet = Lifestyle.new(:cani).diet
else
@diet = “Tripple fok”
end #~ => in this case “vegetalian”
@diet + @s #~ => "vegetalian2" temporary help me to see the @s
value in the .erb → vegetalian 2
#~ end controller
h #~ => #<URI::HTTP:0x630eb24
URL:http://localhost:3000/lifestyle/diet?ou=2>
@diet #~ => “vegetalian”
@s #~ => “2”
Emma/zepo