Ruby on rails 这种方法有什么问题?(我需要一些很棒的Ruby编码器)

Ruby on rails 这种方法有什么问题?(我需要一些很棒的Ruby编码器),ruby-on-rails,methods,roles,restful-authentication,Ruby On Rails,Methods,Roles,Restful Authentication,在子域作用域中使用restfulauthentication方法忽略RoleRequest 我创建了一个利用子域并搜索用户是否位于:subdomain.domain.com或domain.com的网站。如果用户位于subdomain.domain.com,则会显示/views/layouts/application.html.erb,如果用户位于domain.com/views/layouts/promo_site.html.erb。为了做到这一点,我严格按照指示行事 两种布局使用相同的控制器。

在子域作用域中使用restfulauthentication方法忽略RoleRequest

我创建了一个利用子域并搜索用户是否位于:subdomain.domain.com或domain.com的网站。如果用户位于subdomain.domain.com,则会显示/views/layouts/application.html.erb,如果用户位于domain.com/views/layouts/promo_site.html.erb。为了做到这一点,我严格按照指示行事

两种布局使用相同的控制器。此外,我还与restfulauthentication一起使用,为了使我的两个视图都能正常工作,我创建了搜索您的作用域url.com或subdomain.url.com的方法

我已经隔离了以下问题:

控制器中的方法导致失败。NoMethodError控制器:未定义的方法“require\u role” 如果控制器在正确的作用域中,url.com before\u过滤器:检查\u If\u role\u is\u required方法工作正常。如果它在subdomain.url.com范围内,check_If_role_is_required方法将生成一个NoMethodError。 以下代码是检查角色是否是必需的方法:

*注意:当require_role[alt,student worker],:except=>[:list,:show,:index,:create]启动时,上述代码失败,在check_if_role_is_required方法之外,此代码工作正常,因此这可能是一个简单的ruby错误

如何将此方法重写为函数


谢谢

方法本身看起来还可以


由于在subdomain.url.com上时会出现错误,但在url.com上不会出现错误,因此问题不在于方法定义,而在于处理子域更改的代码。这是你应该检查的代码;当您在subdomain.url.com上时,似乎没有包含角色要求。

我在筛选之前修复了此删除,并简单地调用了我的方法:检查是否需要角色
def check_if_role_is_required 
require_role ["alt", "student worker"], :except => [:list, :show, :index, :create] unless promo_site?
end