質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

1回答

4282閲覧

【Ruby】postかgetかを判定するための条件文

maonmyo

総合スコア36

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2016/09/23 04:19

現在、Rubyを使用しログイン機能の作成をしています。

「送られてきた値がpostかgetかを判定するための条件文」がわからず投稿しました。

自分でも調べましたが、見つけることができませんでした。

フォームにはidとpasswordを入力します。

Ruby

1def login 2 if params[:id] != nil && params[:password] != nill 3 #ここにログイン処理を記述する 4 end 5end

この条件文自体合っているかは別として、最初はこのように考えていましたが、

フォームに値がある時だけpostで送られてくるから、postの時に処理が始まるようにすれば良い、
と言われたので
その方法、つまり「送られてきた値がpostかgetかを判定するための条件文」を調べていました。

どなたか教えて頂ければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

実装したいことは、次のどちらでしょうか。

  1. リクエストがGETのときは動かさずに、POSTリクエストが入ったときだけ動かす
  2. POSTリクエストだけど、クエリパラメーターに入った場合はidやpasswordを弾く

前者の場合、RailsのルーティングはアドレスだけでなくHTTPメソッドも考慮しますので、正しく設定すれば「GETでは当該アクションを呼び出さない」というようにできます。アクション内は何も変えなくて構いません。

後者の場合は、ちょっと面倒なことになります(Stack Overflow)。

投稿2016/09/23 04:39

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maonmyo

2016/09/23 04:56

コメントありがとうございます。 実装したいことは、 「1、リクエストがGETのときは動かさずに、POSTリクエストが入ったときだけ動かす」です。 if文だけでどうにかなるもんだと考えていましたが、そこまで簡単ではなかったのですね。。。
maisumakun

2016/09/23 05:13

いえ、むしろconfig/routes.rbで設定してしまえば、あとはGETリクエストのことを忘れてしまえます。 http://railsguides.jp/routing.html このあたりも参考になります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問