NoMethodError undefined method `name' for nil:NilClass -Schienen 3

Ich bin immer NoMethodError in SitesController#index
undefined method `subdomain' for nil:NilClass

Ich habe eine Tabelle Konten, die hat eine 'subdomain' - Feld und eine Website-Modell, das eine Unterklasse von Account-Modell:

class Site < Account

end

create_table "accounts", :force => true do |t|
  t.string   "subdomain"
  t.integer  "user_id"

Ende

und es ist ein current_account definierte Methode in applications_controller wie diese

 def current_account
  if !is_root_domain?
   current_account = Account.find_by_subdomain(request.subdomains.first)
    if current_account.nil?
     redirect_to root_url(:account => false, :alert => "Unknown Account/subdomain")
  end
  else 
  current_account = nil
 end
return current_account

Ende

fordert is_root_domain? Methode unten:

def is_root_domain?
  result = (request.subdomains.first.present? && request.subdomains.first != "www") ? false : true

Ende

Ich auch chnaged die current_account Methode dieser aber bekam die gleiche Fehlermeldung:

def current_account
    current_account = Account.find_by_subdomain(request.subdomains.first)
end

Unter einer der oben genannten Szenarien, bekomme ich undefined method `subdomain' for nil:NilClass Fehler auf der SitesController#index. die unten gezeigt wird beim Zugriff auf die url:

class SitesController < ApplicationController
  def index
    @site = Site.find_by_subdomain(current_account.subdomain)
  end

 def opps
   @site = Site.find_by_subdomain(current_account.subdomain)
 end

Ende

Habe ich versucht, die verschiedenen tricks kämpfen die Methode kein Fehler, dass ich weiß, wie das hinzufügen von 'attr_ccessible' und ein initiliaze Methode, aber nichts scheint zu funktionieren. Ich habe auch die Konten-Tabelle Feld von 'subdomain' , 'name', aber kein Erfolg. Jeder guide wird geschätzt.

InformationsquelleAutor brg | 2011-03-08

Schreibe einen Kommentar