【发布时间】:2016-02-12 05:41:04
【问题描述】:
我正在创建一个使用 ERB 作为模板的 rails 应用程序并不断收到此错误:undefined method 'each' for nil:NilClass。
我的 event.html.erb 看起来像:
<% @event.each do |event| %>
<a href="/registrations/new?level_id=1" class="btn"><%= event.date.strftime("%B %d %Y") %></a>
<br /><br />
<% end %>
我的 register_controller.rb 看起来像这样:
class RegisterController < ApplicationController
def index
@event = Event.all
end
end
def event
@event = Event.find_by id: params["id"]
end
我的 event.rb 模型:
class Event < ActiveRecord::Base
end
我的路线是这样的:get 'register/event/:id' => 'register#event'
当我转到 /register/event/1/ 时,我收到错误消息 undefined method 'each' for nil:NilClass。任何帮助将不胜感激。
谢谢!
【问题讨论】:
-
除非你有猴子补丁
find_by,否则如果找到记录,@event 上不会有each可用 -
也应该看看
params['id'],也许params[:id]?
标签: ruby-on-rails ruby