我想显示项目的阶段列表。为此,我在控制器中加载所有阶段
def load_project
@project = Project.find params[:id]
@phases = @project.phases
end
然后我使用haml
中的每个函数浏览@phases- @phases.each do |phase|
%tr ...
问题是以前代码的sql请求没有任何order属性,所以它是id的默认顺序。
SELECT `phases`.* FROM `phases` WHERE `phases`.`project_id` = 123
我想通过阶段属性调用" position"来订购此请求。是否可以添加订单选项?
答案 0 :(得分:1)
您可以在控制器或视图中添加order
#share_post_button
或者
def load_project
@project = Project.find params[:id]
@phases = @project.phases.order(:position)
end
答案 1 :(得分:1)
试试这个
> git diff abcdef 123456 foo.h | git apply -3
而是将范围添加到模型阶段,如此
@phases = @project.phases.order("position ASC")
并以这种方式打电话
scope :ordered, order: "position ASC"
答案 2 :(得分:1)
project.rb
has_many :phrases, order: 'phrases.column_name'
因此,这将使用您指定的column_name命令项目的所有短语
如果您希望默认关联,则可以执行此操作