rails初心者です

下記のコードではエラーが出てしまいます

class UsersController < ApplicationController
def index
end

def show
if params[:username] == 'ryooopan'
@user = User.find_by(:username => 'ryooopan')
elsif params[:username] == 'moyahima'
@user[:name] = User.find_by(:username => 'moyahima')
end
end

ご回答お願いします
参考にしているサイト https://openbook4.me/projects/92/sections/489

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2016/08/11 16:35:03

回答1件)

id:nuna No.1

回答回数32ベストアンサー獲得回数11スマートフォンから投稿

>@user[:name] = User.find_by(:username => 'moyahima')

これですと@userというインスタンス変数が初期化される前にname属性に代入しようとしてエラーになります。
上の記述に合わせて

@user = User.find_by(:username => 'moyahima')

としてください。

また、質問するときは、RubyとRailsのバージョン、エラーメッセージのコピペがあると、答える側は問題を見つけやすいです。

id:umesann

丁寧なご回答ありがとうございます

2016/08/09 15:04:39

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません