質問編集履歴

2

文全体の修正

2020/11/15 14:38

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- rails devise バーライの仕方知りた
1
+ rails devise ヘルパメソッ current_user使えな
test CHANGED
@@ -1,32 +1,30 @@
1
- deviseを導入すると使えるようになるヘルパーメソッドのcurrent_userを最初に作ったコントローラー意外で使えるようにする方法はあるのでしょうか?current_userを下のviewで使うとNomethodErrorとなってしまいま
1
+ deviseを導入すると使えるようになるヘルパーメソッドのcurrent_userがなぜか使えなくなってしまいました
2
2
 
3
- 試しに@current_userうインスタンス変数を作ってそにcurrent_userを入れみたら、
3
+ 別のページではcurrent_userや他のヘルパーメソッドが使えてたのですが、のviewだとNomethodErrorとなっしまいます汗
4
4
 
5
- curren_userのNomethodErrorは無くなったのですが、<div>タグでSyntaxErrorとなってしまいます
5
+ またエラーコードはActionView::Template::Errorなっておりcurrent_userが存在していない?いう風になってしまいます
6
6
 
7
- deveiseのコントローラーをオーバーラドすば使用できるかなと思ったのですが、良さそうな資料を見つけることがきませんでした
7
+ このviewだとヘルパーメソッドが適用されない範囲にあるということなかと思いコントローラーで@current_user = current_userとしてンスタンス変数に入てみたのですが特に変わらずでした
8
8
 
9
9
 
10
10
 
11
-
11
+ ### 該当のview
12
12
 
13
13
  ```ここに言語を入力
14
14
 
15
- @current_userを使ってみたviewのページ
16
15
 
17
16
 
17
+ <% unless current_user?(@user) %>
18
18
 
19
- <% unless @current_user?(@user) %>
20
-
21
- <div id="follow_form">             ←ここでSyntaxErrorが出てしまう
19
+ <div id="follow_form">
22
20
 
23
21
  <% if current_user.following?(@user) %>
24
22
 
25
- <%= render 'shared/unfollow' %>
23
+ <%= render 'unfollow' %>
26
24
 
27
25
  <% else %>
28
26
 
29
- <%= render 'shared/follow' %>
27
+ <%= render 'follow' %>
30
28
 
31
29
  <% end %>
32
30
 
@@ -34,70 +32,38 @@
34
32
 
35
33
  <% end %>
36
34
 
35
+ ```
36
+
37
+
38
+
39
+ ### エラ-コード
40
+
41
+ ```ここに言語を入力
42
+
43
+ ActionView::Template::Error (undefined method `current_user?' for #<#<Class:0x00007f89eddc9078>:0x00007f89fc7ba588>
44
+
45
+ Did you mean? current_user
46
+
47
+ current_page?):
48
+
49
+ 1: <% unless current_user? %>
50
+
51
+ 2: <div id="follow_form">
52
+
53
+ 3: <% if current_user.following?(@user) %>
54
+
55
+ 4: <%= render 'unfollow' %>
56
+
57
+
58
+
59
+ app/views/mypages/_follow_form.html.erb:1:in `_app_views_mypages__follow_form_html_erb__3920905308085950541_70115311677300'
60
+
61
+ app/views/mypages/show.html.erb:12:in `_app_views_mypages_show_html_erb___2425777192918927473_70115311605620'
62
+
37
63
 
38
64
 
39
65
  ```
40
66
 
41
- ```ここに言語を入力
42
-
43
- @current_userを定義したコントローラー画面
44
67
 
45
68
 
46
-
47
- class MypagesController < ApplicationController
48
-
49
- before_action :authenticate_user!, only: [:following, :followers]
50
-
51
-
52
-
53
- def index
54
-
55
- @users = User.paginate(page: params[:page])
69
+ ![イメージ説明](dbf49e5232cf10ca91a332b664576996.jpeg)
56
-
57
- end
58
-
59
-
60
-
61
- def show
62
-
63
- @user = User.find(params[:id])
64
-
65
- @photoposts = @user.photoposts
66
-
67
- @current_user = current_user
68
-
69
- end
70
-
71
-
72
-
73
-   def following
74
-
75
- @title = "フォロー"
76
-
77
- @user = User.find(params[:id])
78
-
79
- @users = @user.following
80
-
81
- render 'show_follow'
82
-
83
- end
84
-
85
-
86
-
87
- def followers
88
-
89
- @title = "フォロワー"
90
-
91
- @user = User.find(params[:id])
92
-
93
- @users = @user.followers
94
-
95
- render 'show_follow'
96
-
97
- end
98
-
99
- end
100
-
101
-
102
-
103
- ```

1

タイトルの変更 オーバーライドについて

2020/11/15 14:38

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- rails devise ヘルパメソッを別階層で使いたい
1
+ rails devise バーライドの仕方が知りたい
test CHANGED
@@ -3,6 +3,10 @@
3
3
  試しに@current_userというインスタンス変数を作ってそこにcurrent_userを入れてみたら、
4
4
 
5
5
  curren_userのNomethodErrorは無くなったのですが、<div>タグでSyntaxErrorとなってしまいます。
6
+
7
+ deveiseのコントローラーをオーバーライドすれば使用できるかなと思ったのですが、良さそうな資料を見つけることができませんでした。
8
+
9
+
6
10
 
7
11
 
8
12