Ignorant rolerequirement avec la méthode restfulauthentication dans un champ de sous-domaineQuel est le problème avec cette méthode? (J'ai besoin impressionnant Ruby Coders)
J'ai créé un site qui utilise des sous-domaines et des recherches si l'utilisateur se trouve à: subdomain.domain.com
ou domain.com
. Si l'utilisateur est en subdomain.domain.com, /views/layouts/application.html.erb
apparaît, si l'utilisateur est en domain.com /views/layouts/promo_site.html.erb
apparaît. Pour ce faire, j'ai suivi de près les directions Robby on Rails.
Les deux mises en page utilisent le même contrôleur. En outre, j'utilise rolerequirement avec restfulauthentication, pour mes deux vues pour fonctionner J'ai créé des méthodes qui cherchent votre portée (url.com ou subdomain.url.com)
J'ai isolé le problème suivant:
- La méthode dans le contrôleur entraîne une défaillance. "NoMethodError Controller: méthode non définie` require_role '"
- Si le contrôleur est dans la bonne portée, url.com la méthode
before_filter :check_if_role_is_required
fonctionne correctement. Si elle se trouve dans le domaine subdomain.url.com, la méthodecheck_if_role_is_required
génère une erreur NoMethodError.
Le code suivant est le check_if_role_is_required method
:
def check_if_role_is_required
require_role ["alt", "student worker"], :except => [:list, :show, :index, :create] unless promo_site?
end
* Notez le code ci-dessus échoue lorsque require_role ["alt", "student worker"], :except => [:list, :show, :index, :create]
est lancé, ce code fonctionne très bien en dehors de la méthode check_if_role_is_required, c'est donc probablement une simple erreur de rubis.
Comment puis-je réécrire cette méthode pour fonctionner?
Merci!
J'ai corrigé ce retrait "before_filter" et simplement appelé ma méthode: check_if_role_is_required –