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

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

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

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

1回答

2229閲覧

deviseのヘルパーメソッドについて

kumamo-n

総合スコア14

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2016/08/05 11:50

編集2022/01/12 10:55

deviseを用いてログイン機能を実装しているのですが、deviseをインストールした際に自動的にヘルパーメソッドが生成されます。
user_signed_in?,current_user など。

def index if params[:member_id] @member = Member.find(params[:member_id]) @kijis = @member.kijis else @kijis = Kiji.all end @kijis = @kijis.current_member .order(released_at: :desc) end

上記のコードでundefined method `current_member' for #Kiji::ActiveRecord_Relation:0x007f93bf861370とエラーが出てしまいます。membermodelとkijimodelはすでに関連付けしているのですが、原因として考えられるのはどういったことが考えられますか。ご教示していただけると幸いです.

参考までに

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

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

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

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

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

guest

回答1

0

Usermodelとkijimodelでアソシエーションしていないので、コントローラーの中で、current_userが定義できていないのでエラーが出ているのでは。Memberとdeviseで作成したUserが混じっています。もしUserがMemberと同じで(もしくは同一)で良いのであれば、Userに統一して再度作成すればうまくいくと思います。

投稿2016/08/05 12:27

k.yamada920

総合スコア19

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

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

kumamo-n

2016/08/06 16:09

ありがとうございます!再度作りなおしてみました。ロジックとしてはわかりやすい回答だったのでありがたいです。しかしcurrent_member絡みのエラーが再度出てしまったのですが他に原因として考えられるのはどういったものでしょうか。再度ご教示いただけるとありがたいです!
kumamo-n

2016/08/06 16:27

rail cで見るとcurrent_memberと@kijisにそれぞれデータが入っていたので引数の渡し方が違うような気がしますが、どうなんでしょう。もしただ単に引数の渡し方が違っていればそちらもご教示頂きたいです.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問