- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道使用以下代码:before_action :signed_in?, only: [:new]
行动new
如果 signed_in?
将被执行返回 true,但如果我想要 new
signed_in?
时要执行的 Action 返回 false 我该怎么办?我是否必须创建一个新方法,例如,not_signed_in?
?
这是我的 signed_in?
方法
def signed_in?
!@current_user.nil?
end
最佳答案
before_action 不像您想的那样工作 - 如果回调返回 false
,它不会阻止执行操作.
我会以稍微不同的方式解决您的问题,例如:
before_action :redirect_to_root, :if => :signed_in?, :only => :new
# ...
private
def redirect_to_root
redirect_to root_path
end
关于ruby-on-rails - 如果 before_action 返回 false 如何执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20120485/
我有请求 Controller : class RequestsController < ApplicationController before_action :set_request, onl
我的用户模型中有一个 admin:boolean 字段,并且希望能够在用户是管理员之前检查我的 Controller ,然后才能编辑任何内容。 如何修改 before_action :authenti
我想在模块中使用“before_action”。 不幸的是,我无法让它工作。 我在用谷歌搜索,但我发现的一切都无法解决问题。 我的模块文件如下所示: module ShowController i
我有一个像这样的 before_action 方法: def current_user @current_user ||= User.find(:id => session[:id]) end 然
我正在开发一个带有很多 before_actions 的 Controller 的应用程序。它们中的大多数通过它们设置的实例变量相互连接。例如: def first_action @first_v
我正在学习 Hartl 的 Ruby on Rails 教程。在执行第 11 章时,我更新了 UserController 中的 before_actions 并且认为顺序无关紧要。所以我的看起来像这
我有几个 Controller : class First < ApplicationController before_action: do_this before_action: do
我在我的 Controller 类中使用类似这样的东西: before_action :do_something, only: [:new, :create] def new @myModel
假设我有一个发送不同电子邮件的邮件程序,但预计会使用相同的参数调用。我想为所有邮件操作处理这些参数。因此,调用一个 before_action 来读取发送到邮件程序方法的参数 /mailers/my_
我想知道为什么在 before_action 中有 redirect_to 或 render 时没有双重渲染。考虑这个例子: class SomeController < ApplicationCon
我有以下代码: class SupportsController < ApplicationController before_action :set_support, only: [:show,
我在我的 Controller 规范中使用了这个: controller.class.skip_before_action 具体来说,在这种情况下: controller.class.skip_bef
我试图要求在Rails 4网站上的所有页面上登录。 在ApplicationController中,我添加了before_action :authenticate_user!,但它根本不执行任何操作。
class ApplicationController < ActionController::Base before_action :test, only: [:index]
我正在使用 before_action 过滤器调用 authenticate,这是一种方法,如果用户无权访问该页面,该方法会将用户重定向回其主页已请求。 我想从该步骤中排除某个页面,仅用于测试目的。
RubyMine7.0.1 在每个 Controller 类中显示此警报。 下面是 Controller 类文件。谢谢。 application_controller.rb class Applica
我在下面的第二行(第二个 before_action)得到一个 SyntaxError。如何将第一个 before_action 产生的变量 (@organization) 传递给第二个 before
在 Rails 应用程序中,我有一个发送 webhook 消息的 before_action 过滤器。由于我有几个 Controller ,我希望 before_action 对其执行操作,是否有一种
我想在命中任何 Controller 方法之前使用传入请求的 remote_ip 执行数据库查找,以便设置特定的 Controller 类属性。但是,如果查找失败(如果没有对象链接到请求 IP),我想
我知道使用以下代码: before_action :signed_in?, only: [:new] 行动new如果 signed_in? 将被执行返回 true,但如果我想要 new signed_
我是一名优秀的程序员,十分优秀!