Skip to content

質問の心得

dyson edited this page Oct 31, 2022 · 3 revisions

技術系メーリングリストで質問するときのパターン・ランゲージ

こちらから特に重要だと思うものをいくつかピックアップしました。

良くない質問例

ログインしようとしたらエラーがおきました。

改善していく

冒頭であげたポイントをいくつか適用してこの質問を改善していきましょう。

その1. 手順は箇条書きで書きましょう

ログインしようとしたらエラーがおきました。

エラー発生までの具体的手順は以下の通りです。
【手順】
1. ログインページに遷移する
2. メールアドレス, パスワードを入力する
3. ログインボタンを押す

その2. 期待した結果を書きましょう

ログインしようとしたらエラーがおきました。

エラー発生までの具体的手順は以下の通りです。
【手順】
1. ログインページに遷移する
2. メールアドレス, パスワードを入力する
3. ログインボタンを押す

【期待した結果】
ログインボタンを押すとログイン処理が行われ、掲示板の一覧ページに遷移する

その3. 実際に起きたことを書きましょう

ログインしようとしたらエラーがおきました。

エラー発生までの具体的手順は以下の通りです。
【手順】
1. ログインページに遷移する
2. メールアドレス, パスワードを入力する
3. ログインボタンを押す

【期待した結果】
ログインボタンを押すとログイン処理が行われ、掲示板の一覧ページに遷移する

【実際に起きているエラー】
NameError in UserSessionsController#create
undefined local variable or method `param' for #<UserSessionsController:0x00007f98d92f9c38>

その4. どこからうまく行かなくなったかを書きましょう

ログインしようとしたらエラーがおきました。

エラー発生までの具体的手順は以下の通りです。
【手順】
1. ログインページに遷移する
2. メールアドレス, パスワードを入力する
3. ログインボタンを押す

【期待した結果】
ログインボタンを押すとログイン処理が行われ、掲示板の一覧ページに遷移する

【実際に起きているエラー】
NameError in UserSessionsController#create
undefined local variable or method `param' for #<UserSessionsController:0x00007f98d92f9c38>

【どこまでうまくいった/どこからうまくいかなかった】
createアクション自体は動いています。
その中の@user = login(param[:email], params[:password])でエラーが発生しています。

その5. 必ずコピー&ペーストしましょう

コードやエラーログの部分は必ずコピペで。 打ち間違う可能性が多いにあるので自分で手打ちはしないようにしましょう。

ログインしようとしたらエラーがおきました。

エラー発生までの具体的手順は以下の通りです。
【手順】
1. ログインページに遷移する
2. メールアドレス, パスワードを入力する
3. ログインボタンを押す

【期待した結果】
ログインボタンを押すとログイン処理が行われ、掲示板の一覧ページに遷移する

【実際に起きているエラー】
↓ コピペで。手打ちしないこと。
NameError in UserSessionsController#create
undefined local variable or method `param' for #<UserSessionsController:0x00007f98d92f9c38>

【どこまでうまくいった/どこからうまくいかなかった】
createアクション自体は動いています。
その中の@user = login(param[:email], params[:password])でエラーが発生しています。

その6. そのように考えた理由を書きましょう

『createアクション自体は動いています。』←なぜそう思った?

ログインしようとしたらエラーがおきました。

エラー発生までの具体的手順は以下の通りです。
【手順】
1. ログインページに遷移する
2. メールアドレス, パスワードを入力する
3. ログインボタンを押す

【期待した結果】
ログインボタンを押すとログイン処理が行われ、掲示板の一覧ページに遷移する

【実際に起きているエラー】
NameError in UserSessionsController#create
undefined local variable or method `param' for #<UserSessionsController:0x00007f98d92f9c38>

【どこまでうまくいった/どこからうまくいかなかった】
pryを使って処理を1行1行追ってみました。

  def create
    binding.pry
    @user = login(param[:email], params[:password])
    if @user
      redirect_back_or_to boards_path, success: t('.success')
    else
      flash.now[:danger] = t('.fail')
      render :new
    end
  end
  
すると処理が止まったのでcreateアクションは動いているということはわかりました。
その中の@user = login(param[:email], params[:password])でエラーが発生しています。

その他