ユーザーをリストするための「index」という名前のユーザーコントローラーとメソッドがあります。ビューには、フィルタリング オプションがあります (保留中、アクティブ、削除済みのステータス)。私はコードを書き、それはうまく機能しています。しかし、私が書いたコードが正しいかどうか、または簡単にコーディングできる方法であるかどうかを知る必要があります。コントローラーでステータスを検証するための正しい方法ですか(クエリ文字列のステータスが一連のステータスに含まれているかどうかを検証します)。助けてください
次のコードを使用しました:
class UsersController < ApplicationController
def index
@filter_field = ''
if ((not params[:status].nil?) && ['pending', 'active', 'deleted'].include?(params[:status]))
@filter_field = params[:status]
end
@users = User.select_all(@filter_field)
end
end
class User < ActiveRecord::Base
def self.select_all filter
if filter.empty?
User.find(:all)
else
User.find(:all, :conditions => ['status = ?', filter]))
end
end
end