ИЗМЕНИТЬ
Вот проект на GitHub: https://github.com/lionelrudaz/myteam2
Я делаю свое первое приложение на Ruby on Rails, используя шаблон Railsapp (Twitter Bootstrap, Devise и CanCan).
Я также сделал необходимые шаги, чтобы опубликовать свое приложение на 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 %>
to
<%= f.label :name %>
Я обновил свое приложение на Heroku, чтобы вы могли проверить отладку: http://myteam2.herokuapp.com/
Я не знаю, что не так, это так просто, что я чувствую себя таким тупым.
Когда я проводил расследование, я заметил, что вторым аргументом f.label должна быть строка. Невозможно использовать метод t() для изменения текста электронного письма из файла i18n.
Я не могу подать заявку и чувствую себя очень расстроенным. Мои поиски в Google не увенчались успехом.
Дайте мне знать, если вам нужна дополнительная информация.
Ваше здоровье,