下面是块。 Group
和Workout
是与has_many :through
关系相关联的模型,其间为GroupsWorkout
联接模型。
<% @group.workouts.each do |workout| %>
<%= link_to workout.name, workout %><br />
<% end %>
我想在workout.name
表格中的workout_order
列中订购WorkoutsGroup
通常我只会使用Model.order(column_name, DESC)
但据我所知,这在这里不起作用。
答案 0 :(得分:1)
如果您想在显示它们之前在页面中订购项目,那么您可以在迭代之前对锻炼集合进行排序,如下所示:
<% @group.workouts.sort_by{|workout| workout.workout_order}.each do |workout| %>
<%= link_to workout.name, workout %><br />
<% end %>
编辑:啊,我想我误解了你的问题。给我一点时间来完善答案。
您可以通过定义关联中的顺序,按照连接表中的列来订购锻炼,如下所示:
小组模特:
has_many :workouts, :through => :group_workouts, :order => "workoutorder DESC"
答案 1 :(得分:1)
您可以在Group
模型中添加订单:
has_many : workouts, :through => :group_workouts, :order => 'workouts.name'