Я создал сайт, который использует субдомены и ищет, находится ли пользователь по адресу: subdomain.domain.com
или domain.com
. Если пользователь находится в subdomain.domain.com, появляется /views/layouts/application.html.erb
, если пользователь находится в domain.com /views/layouts/promo_site.html.erb
. Для этого я внимательно следовал указаниям Robby on Rails .
В обоих макетах используется один и тот же контроллер.
Я выделил следующую проблему:
- Логика контроллера вызывает сбой. "неопределенный метод` orders 'для nil: NilClass "
- Если контроллер находится в правильной области,
subdomain.url.com
метод current_account работает нормально. Если он находится в области действия url.com
, метод current_account выдает nil. Полное объяснение метода current_account здесь .
- Как использовать контроллер в этих условиях?
Пример использования метода current_account:
created_purchase_orders = current_account.orders.find(:all, :conditions => ["created_at >= ?", 3.days.ago], :order => "created_at DESC")
* приведенный выше код создает ноль при условии url.com и отлично работает в subdomain.url.com
Было бы что-то вроде [current_account.orders.find(:all, :conditions => ["created_at >= ?", 3.days.ago], :order => "created_at DESC")] unless current_account.nil?
предложенным исправлением?