質問編集履歴
1
form_tagをform_withに変える作業をしていた際に出た同様の問題について、追記致しました。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
cocoonで複製した項目がforbid_login_userに引っ掛かり保存されない
|
body
CHANGED
@@ -87,7 +87,7 @@
|
|
87
87
|
```
|
88
88
|
|
89
89
|
### 該当のソースコード(users_controller.rb)
|
90
|
-
またここで「redirect_to("/users/#{@user.id}")」と設定しているのですが、application_controller.rbに「protect_from_forgery with: :null_session」の一文を入れた直後は該当ページにリダイレクトされますが、それ以降は「
|
90
|
+
またここで「redirect_to("/users/#{@user.id}")」と設定しているのですが、application_controller.rbに「protect_from_forgery with: :null_session」の一文を入れた直後は該当ページにリダイレクトされますが、それ以降は「/posts/index」にリダイレクトされてしまいます。その際、application_controller.rbのforbid_login_userで設定した"すでにログインしています"のフラッシュも表示されます。
|
91
91
|
```rails
|
92
92
|
before_action :authenticate_user, {only: [:index, :show, :edit, :update]}
|
93
93
|
before_action :forbid_login_user, {only: [:new, :create, :login_form, :login]}
|
@@ -155,4 +155,50 @@
|
|
155
155
|
|
156
156
|
ruby 2.6.4p104
|
157
157
|
RubyGems 3.0.3
|
158
|
-
Rails 5.2.3
|
158
|
+
Rails 5.2.3
|
159
|
+
|
160
|
+
### 追記
|
161
|
+
|
162
|
+
まだ解決していない為、問題のあったcocoonで複製した部分はコメントアウトで一旦消して、form_tagをform_withに変える作業を先に進めておりました。するとここでも、保存ボタンを押しても内容が保存されず、「/posts/index」にリダイレクトされる問題が発生しました(おそらくforbid_login_userによるもの)。
|
163
|
+
ログイン中にはアクセスできないページ(新規登録ページ等)に行こうとしている訳ではないにも関わらず、なぜこのようなリダイレクトになってしまうのかが分かりません…。
|
164
|
+
|
165
|
+
### 該当のソースコード(users#edit.html.erb)
|
166
|
+
|
167
|
+
```Rails
|
168
|
+
<%= form_with(model: User, local: true) do |f| %>
|
169
|
+
<p>
|
170
|
+
<%= f.label :ユーザー名 %>
|
171
|
+
<%= f.text_field :name, value: @user.name %>
|
172
|
+
</p>
|
173
|
+
<p>
|
174
|
+
<%= f.label :画像 %>
|
175
|
+
<%= f.file_field :image %>
|
176
|
+
</p>
|
177
|
+
<p>
|
178
|
+
<%= f.label :カバー画像 %>
|
179
|
+
<%= f.file_field :cover_image %>
|
180
|
+
</p>
|
181
|
+
<p>
|
182
|
+
<%= f.label :メールアドレス %>
|
183
|
+
<%= f.email_field :email, value: @user.email %>
|
184
|
+
</p>
|
185
|
+
<p>
|
186
|
+
<%= f.label :性別 %>
|
187
|
+
<%= f.radio_button :sex, :Male %>男
|
188
|
+
<%= f.radio_button :sex, :Female %>女
|
189
|
+
</p>
|
190
|
+
<p>
|
191
|
+
<%= f.label :国籍 %>
|
192
|
+
<%= f.country_select :country, selected: @user.country %>
|
193
|
+
</p>
|
194
|
+
<p>
|
195
|
+
<%= f.label :言語 %>
|
196
|
+
<%= select_tag(:language, options_for_select(languages)) %>
|
197
|
+
</p>
|
198
|
+
<p>
|
199
|
+
<%= f.label :自己紹介 %>
|
200
|
+
<%= f.text_area :introduction, rows: "10", cols: "100", value: @user.introduction %>
|
201
|
+
</p>
|
202
|
+
<%= f.submit "保存" %>
|
203
|
+
<% end %>
|
204
|
+
```
|