0

我不熟悉 Rails ,我在 ABC 控制器中使用脚手架,然后在索引页面中打印 ABC.all ,但是我想显示 id > 100 和 <500 的数据我怎么能做到这一点?

因为,我只知道有第一种和最后一种方法。和偏移,限制是不可用的方法。

谢谢~

4

2 回答 2

1

对此使用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...
于 2013-07-25T00:39:37.323 回答
0

MurifoX 的答案是最好的,但我想指出,您也可以使用 order、limit 和 offset 来构造这个查询。

ABC.order(:id).offset(100).limit(399)

在您的问题中,您注意到 limit 和 offset 不是可用的方法,但它们可用于任何继承自的 Rails 模型ActiveRecord::Base

于 2013-07-25T01:30:44.143 回答