0

私は Rails に精通していません。ABC コントローラーで足場を使用すると、インデックス ページに ABC.all が出力されますが、id > 100 および <500 のデータを表示したいのですが、どうすればこれを達成できますか?

なぜなら、最初と最後の方法があることしか知らなかったからです。and offset,and limit は使用できない方法です。

ありがとう〜

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 の回答が最良ですが、このクエリを順序、制限、およびオフセットで構成することもできることを指摘したいと思います。

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

あなたの質問では、 limit と offset は利用できないメソッドであることに注意してください。ActiveRecord::Base

于 2013-07-25T01:30:44.143 に答える