Во-первых, я француз, поэтому, пожалуйста, прости мои языковые ошибки: $.
У меня настроено два рельса. Один дома, который я использую для разработки веб-приложения, а другой - на сервере.
По какой-то причине, когда я в последний раз отправлял веб-приложение со своего персонального компьютера на сервер, в контроллере появилась следующая ошибка:
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
Я что-то здесь не так понял?