![](/img/trans.png)
[英]How do I make a before_action to run on all controllers and actions except one?
[英]how do I make before_action :logged_in_user work with a modal and remote form
例如,如果我有以下代碼:
class PhotosController < ApplicationController
before_action :logged_in_user
end
class UsersController < ApplicationController
def logged_in_user
unless logged_in?
store_location
flash[:danger] = "Please log in or register"
redirect_to login_url
end
end
當Web用戶導航到任何照片的路線: example.com/photos
, example.com/photos/new
, example.com/photos/1
他們將redirected_to
的login_url
頁面,如果他們不是已經LOGGED_IN。
但是,如果我要從主頁example.com
中打開一個包含remote
form_for @photo?
的模式,該form_for @photo?
它將不允許login_url
的Web用戶提交表單,並且在提交表單后,他們將被redirected_to
到login_url
但這遠非理想,我希望他們立即被重定向。
在您看來; 我認為您可以將此遠程表單放在局部中,然后在用戶登錄時呈現它,應該是這樣的
homepage.html.erb
<% if logged_in? %>
<%= render 'form_partial' %>
<% else %>
<%= render 'somthing_else' %>
<% end %>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.