gpt4 book ai didi

ruby-on-rails - "uninitialized constant"使用清关路由错误

转载 作者:太空宇宙 更新时间:2023-11-03 16:51:57 28 4
gpt4 key购买 nike

我正在使用 Clearance 进行身份验证,并尝试根据用户是否登录来设置根目录。登录、注销和创建/删除用户工作正常。

我正在关注这个 article from Thoughtbot我在 route 添加了约束条件。

# Logged in user
root to: "dashboard#index", constraints: Clearance::SignedInConstraint`

# Visitor
root to: "home#index"

我还在/lib/clearance 中创建了 signed_in_constraint.rb 来执行检查:

module Clearance
class SignedInConstraint
def self.matches?(request)
request.env[:clearance].signed_in?
end
end
end

如果我打开 Rails 控制台并检查 Clearance,我没有收到任何错误,因此它正在加载 Clearance 模块而不是来自 lib 的 SignedInConstraint。

rails console
Loading development environment (Rails 4.0.0)
irb(main):001:0> Clearance
=> Clearance
irb(main):002:0> Clearance::SignedInConstraint
NameError: uninitialized constant Clearance::SignedInConstraint

我还根据 this ticket 多次重启了我的服务器(运行 Anvil 和 PostgresApp)在 Github 仓库上。

在 Ruby 2.0 上使用 Rails 4。

谢谢

最佳答案

约束现在内置于 Clearance 中。您可以执行以下操作:

constraints Clearance::Constraints::SignedIn.new { |user| user.admin? } do
root to: 'admin'
end

constraints Clearance::Constraints::SignedIn.new do
root to: 'dashboard'
end

constraints Clearance::Constraints::SignedOut.new do
root to: 'marketing'
end

祝你好运!

关于ruby-on-rails - "uninitialized constant"使用清关路由错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19382101/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com