アプリにイベント カテゴリを実装していますが、次の問題が発生しました。ユーザーが既存の URL (「site/types/1」など) を入力すると、目的のカテゴリに到達しますが、site/types/asdf (存在しない URL) を入力すると、空のインデックス ページが表示されます。エラーなし。私は彼に 404 またはエラー ページを表示してもらいたいのですが、'find_by!' を使用する場合は、コントローラーの bang で実現できることを知っています。方法(ですよね?)。ただし、私のクエリは異なり、原則を理解できないようです。
スコープとラムダを使用するより複雑なクエリでこれを機能させるにはどうすればよいですか? ありがとうございました
次のコードがあります。
イベントコントローラー
def index
if params[:type]
@events_future = Event.future_by_type(params[:type])
else
@events_future = Event.future_events
end
end
イベントモデル
scope :future_by_type, lambda { order(...).where(...) }
ルーター
get 'types/:type', to: 'events#index', as: :type
resources :types, except: :show