Forum: Rails France 3 problemes en ROR

390362a85af4aa9f32ef4982e1103266?d=identicon&s=25 Sand Sand (speed34)
on 2010-09-25 11:02
Bonjour a tous,

Je suis nouvelle en ROR.
J'apprends tout juste, mais voila je suis butee sur 3 problemes et je ne
sais pas du tout comment les resoudre....

Peut etre que quelqu'un d'entre vous aura une solution :) Ca m'aiderait
beaucoup !

1er probleme-> expression reguliere je suppose:
j'ai deux routes:
http://0.0.0.0:3000/reporting/uniqueperson et
http://0.0.0.0:3000/reporting/uniqueperson/2010/10/05

Dans ma vue:  _navigation.html.haml
%ul.tabs
  %li{:class => current_page?(:controller => 'reporting', :action =>
'uniqueperson') ? 'selected' : nil }

Mais comment faire pour que la class "current page" marche pour mes deux
routes?
Actuellement ca marche que pour la plus courte des deux urls...


2eme probleme:

J'utilise paginate .
Mais ma requete est :

 @statsToDisplay = PlayerStat.paginate(
              :select => " distinct user_id, track_id, client_ip,
user_agent  , tracks.name   , count(  player_stats.created_at  ) as nb
"   ,
              :joins => [  :user, :track],
              :conditions =>  [' player_stats.created_at >=? AND
player_stats.created_at <=?   ',@firstDate, @secondDate    ],
              :group=> " user_id, track_id  , client_ip, user_agent,
tracks.name   ",
              :order=>@sortby
              ,
              :page => params[:page],
              :per_page => @@nbperpage
             )

->j'utilise un count... mais paginate me retourne une erreur sql pres du
as nb...

Si vous avez une idee pour eviter cela...

3eme probleme->
Will paginate me cree   l'url :
http://0.0.0.0:3000/reporting/allerrors?page=2

Biensur je veux arranger cela, mais j'ai plusieurs arguments a faire
passer, je voudrais donc que mon path ressemble a quelquechose comme
:http://0.0.0.0:3000/reporting/allerrors/2010/09/8/...
(dernier argument est la page)
jai donc cree ceci:

= will_paginate(paging, :renderer => LinkreportingRenderer, :params =>
{:controller => allerrorsgetss_path(@year, @month, @day ,@timeSpace
,@sortby ,@way ,@paramsPage)} )
et j'obtiens l'erreur:
No route matches {:page=>2, :action=>"index",
:controller=>"reporting/allerrors/2010/8/7/7/created_at/asc/1"}

Merci d'avance a vous tous qui pourront m'aider!
Bon weekend
586596d987f2acf793c0ce841b765adb?d=identicon&s=25 Solrac Caritas (caritas)
on 2010-09-27 17:17
Sand Sand wrote:
> Bonjour a tous,
>
> Je suis nouvelle en ROR.
> J'apprends tout juste, mais voila je suis butee sur 3 problemes et je ne
> sais pas du tout comment les resoudre....
>
> Peut etre que quelqu'un d'entre vous aura une solution :) Ca m'aiderait
> beaucoup !
>
> 1er probleme-> expression reguliere je suppose:
> j'ai deux routes:
> http://0.0.0.0:3000/reporting/uniqueperson et
> http://0.0.0.0:3000/reporting/uniqueperson/2010/10/05
>
> Dans ma vue:  _navigation.html.haml
> %ul.tabs
>   %li{:class => current_page?(:controller => 'reporting', :action =>
> 'uniqueperson') ? 'selected' : nil }
>
> Mais comment faire pour que la class "current page" marche pour mes deux
> routes?
> Actuellement ca marche que pour la plus courte des deux urls...

Je ne comprend pas ce que tu veux faire( peux tu expliquer ce à quoi tu
veux arriver?) mais d’après l'aide ne faut il pas mettre un point
d’interrogation dans l'adresse de la page?
http://api.rubyonrails.org/classes/ActionView/Help...
D’après moi tel que tu le fais tu auras toujours false comme résultat.(
donc ça marche pas...)
390362a85af4aa9f32ef4982e1103266?d=identicon&s=25 Sand Sand (speed34)
on 2010-10-07 01:12
Solrac Caritas wrote:
> Sand Sand wrote:
>> Bonjour a tous,
>>
>> Je suis nouvelle en ROR.
>> J'apprends tout juste, mais voila je suis butee sur 3 problemes et je ne
>> sais pas du tout comment les resoudre....
>>
>> Peut etre que quelqu'un d'entre vous aura une solution :) Ca m'aiderait
>> beaucoup !
>>
>> 1er probleme-> expression reguliere je suppose:
>> j'ai deux routes:
>> http://0.0.0.0:3000/reporting/uniqueperson et
>> http://0.0.0.0:3000/reporting/uniqueperson/2010/10/05
>>
>> Dans ma vue:  _navigation.html.haml
>> %ul.tabs
>>   %li{:class => current_page?(:controller => 'reporting', :action =>
>> 'uniqueperson') ? 'selected' : nil }
>>
>> Mais comment faire pour que la class "current page" marche pour mes deux
>> routes?
>> Actuellement ca marche que pour la plus courte des deux urls...
>
> Je ne comprend pas ce que tu veux faire( peux tu expliquer ce à quoi tu
> veux arriver?) mais d’après l'aide ne faut il pas mettre un point
> d’interrogation dans l'adresse de la page?
> 
http://api.rubyonrails.org/classes/ActionView/Help...
> D’après moi tel que tu le fais tu auras toujours false comme résultat.(
> donc ça marche pas...)


Salut
jai resolu mon probleme de "route"
Je ne teste plus que l'action
  %li{:class => current_page?( :action => 'allerrors' ) ?  'active' :
nil}

et la il me renvoit bien true, je ne teste pas les autres variables
(get) et ca marche.

Par contre je suis tjrs bloquee sur le 2eme probleme.

concernant le paginate, il suffit de preciser les autres variables et il
convertira des &month=9 par 0000:3000/mypage/9
 = will_paginate(paging , :param_name=>'&year=' + @year.to_s + '&month='
+ @month.to_s

Sand
This topic is locked and can not be replied to.