2010-07-16 12 views
0

J'ai un des modèles simplesdefault_scope: order =>: index ne fonctionne pas

class Item < ActiveRecord::Base 
    has_many :parts 
end 
class Part < ActiveRecord::Base 
    belongs_to :item 
    default_scope :order => :index 
end 

Chaque partie a son propre indice, à commander à l'intérieur de l'article en question.

Lorsque je charge des pièces pour l'élément dans la méthode ItemsController.show, les pièces ne sont pas commandées.

C'est ce qui se passe dans db:

[4;35;1mPart Load (0.7ms)[0m [0mSELECT "parts".* FROM "parts" WHERE ("parts".item_id = 165968587) [0m 

is't le mot "index" réservé? Pourquoi commander n'est pas arrivé?

Répondre

1

Je ne sais pas pourquoi cela ne fonctionne pas, mais vous pouvez aussi essayer quelque chose de différent:

class Item < ActiveRecord::Base 
    has_many :parts, 
      :order => :index 
end 
+1

Merci, vos travaux de suggestion. Mais cela ne fonctionne que lorsque je l'écris comme: has_many: parts,: order => "\" index \ "". Possible, le mot "index" est réservé. La seule chose, je pense à - sera-cross-base de données ou non ... – AntonAL