J'ai créé un site qui utilise des sous-domaines et cherche si l'utilisateur est ou non à: subdomain.domain.com
ou domain.com
. Si l'utilisateur est dans subdomain.domain.com, /views/layouts/application.html.erb
apparaît, si l'utilisateur est dans domain.com /views/layouts/promo_site.html.erb
apparaît. Pour ce faire, j'ai suivi de près les directions Robby on Rails.Je veux utiliser un contrôleur avec un zéro attendu; comment puis-je gérer cela?
Les deux mises en page utilisent le même contrôleur.
J'ai isolé le problème suivant:
- logique du contrôleur est à l'origine l'échec. "méthode non définie` orders 'for nil: NilClass "
- Si le contrôleur est dans la bonne portée,
subdomain.url.com
la méthode current_account fonctionne correctement. Si elle se trouve dans l'étendueurl.com
, la méthode current_account produit un zéro. Une explication complète de la méthode current_account est here. - Comment utiliser le contrôleur dans ces conditions?
Exemple d'utilisation de la méthode current_account:
created_purchase_orders = current_account.orders.find(:all, :conditions => ["created_at >= ?", 3.days.ago], :order => "created_at DESC")
* le code ci-dessus produit un nul sous la condition de url.com, et fonctionne très bien dans subdomain.url.com
Would quelque chose comme [current_account.orders.find(:all, :conditions => ["created_at >= ?", 3.days.ago], :order => "created_at DESC")] unless current_account.nil?
être une solution suggérée?