文字列に数値のみが含まれているかどうかを判断します
-
26-10-2019 - |
質問
私は使用しています Friendly_id Railsアプリのルート用。
数値IDでページにアクセスできないようにしたいと思います。
このようにページにアクセスできます-www.myurl.com/myfriendlyidstub
このようにページにアクセスできないでください-www.myurl.com/12345(12345はmyfriendlyidstubのIDです)
Friendly_idのドキュメントでこれを行う方法がわかりません。
したがって、私はコントローラーにメソッドを追加して、paramが数値であるかどうかを確認することを検討しています
def edit
if params[:id].is_numeric? #I need to know how to write this method
not_found #not_found redirects to a 404
end
#rest of the edit action
end
2つの質問 -
「is_numeric」メソッドを書くにはどうすればよいですか?
これは物事をするのに良い方法ですか?落とし穴が見えますか?
解決
私はaを使用します before_filter
すべての方法に貼り付ける前に。
ルーティングを構成することもできます セグメントの制約.
他のヒント
ルートの直後にユーザー名をパーマリンクとして持ちたいだけのように聞こえます '/' ...
config/route.rb
...
match '/:id' => 'controller#show'
...
その後、フレンドリーなセットアップを正しくセットアップすると、IDの代わりに名前として表示されるはずです。
ところで、Friendly_idを見つけてくれてありがとう、私は私のプロジェクトのためにそのようなものを探し始めようとしていました。
それが役立つかどうか教えてください。
所属していません StackOverflow