私は、URLから という年と月を取る複数のアクションを持つコントローラを持っています。私はプライベートメソッドcheck_dateを にしました。日付が有効であることを確認し、日付が将来でないことを確認してください。redirect_toを使用した後、コントローラの実行を停止するにはどうすればよいですか? (Railsの使用)
def check_date(year, month)
if month < 1 || month > 12 || year < 2000
flash[:notice] = I18n.t 'archive.invalid_date'
redirect_to :action => 'index'
elsif year > Date.today.year || (year == Date.today.year && month > Date.today.month)
flash[:notice] = I18n.t 'archive.no_future'
redirect_to :action => 'month_index',
:year => Date.today.year,
:month => Date.today.month,
:type => params[:type]
end
end
redirect_to後、コントローラの実行を終了するレールの方法はありますか?
私はredirect_to後に例外をスローするかcheck_dateから値を返すと、それを呼び出す各アクションでそれを確認するためにどちらかであると考えることができる方法 -
def month_index
year = params[:year].to_i
month = params[:month].to_i
if !check_date(year, month)
return
...
end
のようなものをしかしそこにあるのだろうかこれを行うための素晴らしいレール方法。私は半分だった 私は を停止したいと思ったことを認識するだろうredirect_toレールを呼び出すことを望んだが、それは起こっていないようです。
これは質問者の問題を解決するかもしれませんが、私はvrish88のような解決策を期待してここに来ました。 – iphone007