Я начинаю процесс обучения, сначала перечисляя всех пользователей.
Сначала я добавил действие в контроллере как
def list_users
@users=User.find(:all)
end
И в представлении users/list_users.html.erb
я добавил строку
list_users.html.erb
:
<%= Time.now %>
<% @users.each do |user| %>
<%= user.firstname %>
<% end %>
И для маршрутизации я добавил маршруты как
map.list_users '/list_users', :controller => 'users', :action => 'list_users'
Вот и все .. когда я запускаю свое приложение, оно показывает мне ошибку как
Development mode eh? Here is the error - #<ActionView::TemplateError:
ActionView::TemplateError (You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each) on line #7 of app/views/users/list_users.html.erb:
Почему так?
Решение:
Я сам обнаружил, что действие контроллера недостаточно защищено, поэтому оно показало мне ошибку.