我不熟悉 Rails ,我在 ABC 控制器中使用脚手架,然后在索引页面中打印 ABC.all ,但是我想显示 id > 100 和 <500 的数据我怎么能做到这一点?
因为,我只知道有第一种和最后一种方法。和偏移,限制是不可用的方法。
谢谢~
我不熟悉 Rails ,我在 ABC 控制器中使用脚手架,然后在索引页面中打印 ABC.all ,但是我想显示 id > 100 和 <500 的数据我怎么能做到这一点?
因为,我只知道有第一种和最后一种方法。和偏移,限制是不可用的方法。
谢谢~
对此使用ActiveRecord
where
方法。您可以在其中键入字符串查询。这是一个例子:
ABC.where('id > 100 AND id < 500')
没有魔法,只是好老where
。
PS:ActiveRecord
有很多方法,我建议你阅读这个。http://guides.rubyonrails.org/active_record_querying.html
更新:
translates_controller.rb
def index
@translates = Translate.where('id > 100 AND id < 500')
# Stuff...
index.html.erb
<% @translates.each do |t| %>
# Stuff...
MurifoX 的答案是最好的,但我想指出,您也可以使用 order、limit 和 offset 来构造这个查询。
ABC.order(:id).offset(100).limit(399)
在您的问题中,您注意到 limit 和 offset 不是可用的方法,但它们可用于任何继承自的 Rails 模型ActiveRecord::Base