2016-11-18 13 views
1

私はRailsアプリケーションにカスタムクラスを用意しています。これは一連の設定を検証します。カスタムクラス内でRails redirect_to

コード:

class UserSettingObject < RailsSettings::SettingObject 
    validate do 
    if !/^([0-9]|0[0-9]|1[0]):[0-5][0-9]$/.match(self.time) 
     redirect_to settings_path, notice: 'Invalid time format' 
    end 
    end 
end 

私はSOの記事をチェックして、同様の問題(here)を見つけ、勧告はinclude ActionController::Redirectingだったが、それは未定義のメソッド `config_accessor」エラーが発生し、作品をしません。

カスタムクラスのRailsリダイレクトメソッドの使い方は?

答えて

4

@SergioTulentsevがすでに述べたことに加えて、妥当性検査は妥当性検査のためのものであり、行動をとるものではありません。あなたが代わりに行うことができるのは、正規表現をメソッドとして残し、コントローラでそれを使用してtimeをチェックし、検証の結果に基づいてリダイレクトします。

+1

haha​​、mutual credits :) –

+0

@SergioTulentsev私はちょうど、あなたが実際に質問に答えた、私は何かの代替案を提案している間、それは動作していません:) Upvoted –

4

短い答えは:あなたはそれをすることができません。

redirect_toは、リクエストコンテキストでのみ意味があります(読み取り:コントローラアクション内から呼び出された場合)。ランダムなオブジェクトからリダイレクトすることはできません。なぜなら、操作する要求がわからないからです。

はい、@AndreyDeinekoとは何ですか。

関連する問題