我有一个has_many的游戏模型:texts。问题是,我必须根据它们属于哪个游戏对文本进行不同的排序(是的,很丑,但它是传统数据)。我创建了一个Text.in_game_order_query(game)
方法,它返回适当的顺序。参考has_many中的实例(Rails)
我最喜欢的解决方案应该是在Text模型中放置一个默认范围,但这需要知道他们是哪个游戏的一部分。我也不想为每个游戏的文本创建单独的类 - 有很多游戏,更多的游戏,所有新的游戏都将使用相同的顺序。所以,我有另外的想法:在订货的has_many文本,当我知道他们的一部分,该游戏:
has_many :texts, :order => Text.in_game_order_query(self)
然而,自我是这里的班级,这样是行不通的。
除了每次打电话@game.texts.in_game_order(@game)
以外真的没有其他解决方案吗?
双曲花括号给了我一个语法错误,并且只有一组{}围绕它表示“无法访问proc”。 – Sprachprofi 2012-08-14 10:27:22
抱歉错字。只有一套大括号。但我不确定,如果这适用于:订单。我用它:条件。如果proc不起作用,请尝试使用lambda或Proc.new – 2012-08-14 11:37:11