编辑
这是 GitHub 上的项目:https ://github.com/lionelrudaz/myteam2
我正在使用 Railsapp 上的模板(Twitter Bootstrap、Devise 和 CanCan)在 Ruby on Rails 中制作我的第一个应用程序。
我还采取了必要的步骤将我的应用程序发布到 Heroku。
到目前为止一切都很好,在 Heroku 上的第一次发布还不错,直到我在 MacBook Pro 上重新启动服务器。
现在,我总是会看到默认错误页面,其中显示“我们很抱歉,但出了点问题”。
在终端中,我得到:
=> Booting Thin
=> Rails 3.2.8 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
>> Thin web server (v1.5.0 codename Knife)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:3000, CTRL+C to stop
Started GET "/" for 127.0.0.1 at 2012-10-01 19:19:21 +0200
Processing by HomeController#index as HTML
User Load (0.3ms) SELECT "users".* FROM "users"
Club Load (0.2ms) SELECT "clubs".* FROM "clubs" ORDER BY "clubs"."id" DESC LIMIT 1
Rendered home/index.html.erb within layouts/application (23.2ms)
Completed 500 Internal Server Error in 190ms
由于我不知道如何禁用错误页面以获取真正的堆栈跟踪,因此我开始逐行删除代码行以查找哪一行不起作用。实际上,看起来 f.label 指令不再起作用了。我知道他们做到了,我已经使用我的应用程序很长时间了。
这是我的 home_controller.rb 文件
class HomeController < ApplicationController
def index
@users = User.all
@club = Club.last
end
end
index.html.erb
<h3>Home</h3>
<%= debug @club %>
<%= form_for @club do |f| %>
<div class="control-group">
<%= RUBY_VERSION %>
<%= Rails.version %>
<%= f.label :name, :name %>
<%= f.text_field :name %>
</div>
<% end %>
<% @users.each do |user| %>
<p>User: <%=link_to user.name, user %></p>
<% end %>
当我更改时触发错误
<%= f.label :name, :name %>
至
<%= f.label :name %>
我在 Heroku 上更新了我的应用程序,因此您可以检查调试: http: //myteam2.herokuapp.com/
我不知道出了什么问题,它是如此基础,以至于我觉得自己很愚蠢。
当我调查时,我注意到 f.label 的第二个参数必须是一个字符串。不可能使用 t() 方法从 i18n 文件更改电子邮件的文本。
我无法继续我的申请,感到非常沮丧。我的谷歌研究没有成功。
如果您需要更多信息,请与我们联系。
干杯,