###前提・実現したいこと
Rrail4で練習としてSNSアプリケーションを作っています。
勉強始めて数週間の初心者です。
###発生している問題・エラーメッセージ
以下のようなエラーがでます。
undefined method `id' for #<Hash:0x7ff1dc0> Rails.root: C:/Users/ide/Desktop/play/RoR_plan/miniSNS Application Trace | Framework Trace | Full Trace app/controllers/application_controller.rb:25:in `me?' app/controllers/members_controller.rb:21:in `show'
###該当のソースコード
Ruby
1【application_controller.rb】 2 def me? obj = nil 3 id_num = obj != nil ? obj.member_id : params[:id].to_i 4 if session[:login].id == id_num then 5 return true 6 else 7 return false 8 end 9 end 10 11【members_controller.rb】 12 def show 13 if !checklogin? then return end 14 @me = me? 15 @member = Member.find(params[:id]) 16以下省略
###試したこと
members_controller.rbの@me = me?の前で「puts session[:login].id」としたらこの場所でエラーが出ました。
同様に、application_controller.rbのif session[:login].id == id_num thenの前でやってもエラーです。
ただし、「puts session[:login]」とidを取れば、エラーが出ません。
members_controller.rbの別のメソッド内で「puts session[:login].id」とすれば、正常に表示されるのですがなぜでしょうか?
よろしくお願いします。
###補足情報(言語/FW/ツール等のバージョンなど)
Windows 7
Ruby 2.1.9p490
Rails 4.2.1
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/16 13:44