Bonjour,
J'essaie actuellement d'apprendre ruby + ruby on rails et je bloque sur un problème sûrement très simple pour les habitués ^^, j'essaie de faire une condition sur une requête.
#articles_controller
def category
@articles = Article.find( :all, :conditions => {:category=>{ :slug => 'non-classe'}} )
render 'index'
end
(pour le système de slug j'utilise https://github.com/norman/friendly_id )
Du coup c'est ma request "Article.find" qui pose soucis, je ne sais pas comment faire pour faire un where sur la relation Category.slug.
ça doit être vraimnt tout bête mais je bloque là dans mon apprentissage ^^
Merci d'avance.
Salut,
Si tu utilises la version de rails 4 et plus tu peux essayer:
@articles = Article.include(:category).where(category.slug: 'non-classe')
C'est normal qui tu as ":category=>" dans ta requête ?
Tu ne devrais pas plutôt avoir ceci :
#articles_controller
def category
@articles = Article.find( :all, :conditions => {:category => { :slug => 'non-classe'}} )
render 'index'
end
et pourquoi tu ne fait pas ça :
def category
@articles = Article.categories.where(slug: 'non-classe')
render 'index'
end