#~ 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 )
<form id="f" action="">
  <p>
    <select name="regime" onmouseup="sendQ()">
      <option>Vegetarien</option>
      <option>Vegetalien</option>
      <option>Canibale ...</option>
    </select>
    <span id="bj"></span>
  </p>
</form>

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
    @@die...@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"

-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
[email protected]
-~----------~----~----~----~------~----~------~--~---

Répondre à