我正在学习铁轨。我在迈克尔哈特尔的导轨教程的chapter 7上。我正在尝试建立一个用户可以创建帐户的注册页面。当我从本地环境(localhost:3000
)运行我的应用程序时,我可以毫无问题地创建用户,但是当我将更改推送到Heroku时,按下注册按钮会导致错误“我们很抱歉,但是有些东西出错”。
检查heroku日志我发现:
Started GET "/signup" for [an ip address...] at 2012-08-27 21:36:15 +0000
Processing by UsersController#new as HTML
ActionView::Template::Error (Missing partial /shared/error_messages with
{:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder]}. Searched in:
* "/app/app/views"
Rendered users/new.html.erb within layouts/application (38.9ms)
6: <%= form_for(@user) do |f| %>
Completed 500 Internal Server Error in 137ms
5: <div class="span6 offset3">
):
4: <div class="row">
app/views/users/new.html.erb:6:in
`_app_views_users_new_html_erb___3412900076253353202_33302880'
7: <%= render '/shared/error_messages' %>
8: <%= f.label :name %>
app/views/users/new.html.erb:7:in `block in
_app_views_users_new_html_erb___3412900076253353202_33302880'
9: <%= f.text_field :name %>
现在我跑了:
$ heroku run rake db:migrate
我在我的gemfile中加入了'pg', '0.12.2'
。
我还使用以下方式回滚了heroku数据库:
$ heroku pg:reset HEROKU_POSTGRESQL_WHITE
然后重新迁移
$ heroku run rake db:migrate
无济于事。有任何想法吗?这很奇怪,因为网页的其他方面都有效,整个过程都适用于我的本地环境。感谢。
答案 0 :(得分:1)
Krule正确地发现了这个问题。我将目录命名为sample_app / app / views / Shared,它应该是sample_app / app / views / shared。
值得注意的是,改变git中目录的情况有点挑战,因为git不区分大小写。我不得不执行这些命令
$ git mv共享shared2
$ git mv shared2 shared
$ git commit -m“你的消息在这里”
$ git add -A
$ git push
然后推送到heroku:
$ git push heroku
$ heroku open
感谢您快速准确的回复!
答案 1 :(得分:0)
你错过了一个部分:
Missing partial /shared/error_messages with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder]
检查它是否已添加到git。