рельсы неопределенный метод - Unix / Ruby версия PB? - PullRequest
0 голосов
/ 11 марта 2011

Во-первых, я француз, поэтому, пожалуйста, прости мои языковые ошибки: $.

У меня настроено два рельса. Один дома, который я использую для разработки веб-приложения, а другой - на сервере.

По какой-то причине, когда я в последний раз отправлял веб-приложение со своего персонального компьютера на сервер, в контроллере появилась следующая ошибка:

NoMethodError in SocialsController#create
undefined method `profile' for nil:NilClass

контроллер выглядит так:

  def create
    if !break?
      @social = Social.new(params[:social])
      @social.profile_id = current_account.profile.id
      if @social.save
        render :inline => "<script>window.onload = window.close()</script>"
      else
        render :action => "edit"
      end
    else
      render :action => "error"
    end
  end

и вот перерыв:

def break? 
  @break = false
  current_account.profile.socials.all.each do |s|
    if params[:social][:email] == s.email && params[:social][:network] == s.network
      @break = true
      break
    end
  end
  return @break
end

Я должен упомянуть, что у меня есть такие вложенные модели: account has_one profile has_many socials

Дело в том, что это точно такой же файл проекта с теми же контроллерами, точно такая же база данных. единственное, что меняется, это версия Rails. Вот основные отличия:

дом: - MacOS X снежный барс - ruby ​​v1.8.7 - рельсы v3.0.4 - sqlite3 v3.7.5 - драгоценный камень v1.5.2

Сервер: - Linux Debian 5.0 - ruby ​​v1.9.2p0 - рельсы v3.0.4 - sqlite3 v3.7.5 - камень v1.6.1

Я что-то здесь не так понял?

1 Ответ

1 голос
/ 11 марта 2011

Просто сделайте снимок в темноте, но похоже, что ваш current_user объект * nil на сервере - это, вероятно, означает, что вы либо вышли из системы, либо вам нужно попытаться выйти (или очистить) куки) и войдите обратно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...