我的应用程序在localhost中正常工作,但当我推送到heroku时,我收到了以下错误:
2011-05-31T00:31:58+00:00 app[web.1]: /app/.bundle/gems/ruby/1.8/gems/
activesupport-3.0.5/lib/active_support/
dependencies.rb:239:in `require': /app/app/controllers/avaliacaos_controller.rb:40:
syntax error, unexpected kEND, expecting $end (SyntaxError)
知道吗?
编辑
class AvaliacaosController < ApplicationController
def new
@profile = Profile.find(params[:profile])
@avaliado = Profile.find(params[:avaliado])
@projeto = Projeto.find(params[:projeto_id])
@avaliacao = Avaliacao.new
end
def create
@profile = Profile.find(current_profile)
@avaliacao = Avaliacao.new(params[:avaliacao])
@projeto = Projeto.find(params[:avaliacao][:projeto_id])
if @avaliacao.save
flash[:success] = "Avaliação Criada com Sucesso."
redirect_to @projeto
else
redirect_to (:back)
end
end
end
错误
syntax error, unexpected kEND, expecting $end (SyntaxError)
表明您的文件avaliacaos_controller.rb的"end"数不匹配(要么太多,要么太少)。
可能这并没有在本地显示,因为加载服务器时没有加载控制器,而在生产中是这样。请尝试以使用此控制器的方式在本地运行应用程序,您应该会看到同样的错误。
确保heroku有您的最新代码。尝试一个"git-status"来确保它是干净的(没有列出任何文件),然后你就可以"git-push-heroku master"
我的假设是,您没有推送到heroku,或者如果您推送了,那么您就没有在本地提交代码。
tryheroku运行rake-db:迁移