我刚开始使用Mongoid for Rails并按照截屏进行操作。我已经生成了一个脚手架,生成了mongoid.yml,并且只更改了数据库名称。我也按照步骤在他们的文档中准备mongoid for rails。
但是,我似乎总是在创建动作
上得到这个undefined method `[]' for nil:NilClass
Rails.root: /Users/ygamayatmiretuta/Documents/Dev/ruby/ta
Application Trace | Framework Trace | Full Trace
app/controllers/notes_controller.rb:25:in `create'
和索引操作中的这个:
undefined method `[]' for nil:NilClass
Extracted source (around line #12):
9: <th></th>
10: </tr>
11:
12: <% @notes.each do |note| %>
13: <tr>
14: <td><%= note.title %></td>
15: <td><%= note.description %></td>
我错过了配置步骤吗?谢谢!
这是控制器:
class NotesController < ApplicationController
respond_to :html
def index
@notes = Note.all.entries
respond_with @notes
end
def show
@notes = Note.find params[:id]
respond_with @notes
end
def new
@notes = Note.new
respond_with @notes
end
def edit
@notes = Note.find params[:id]
respond_with @notes
end
def create
@notes = Note.create params[:notes]
respond_with @notes
end
def update
@notes = Note.find params[:id]
@notes.update_attributes params[:notes]
respond_with @notes
end
def destroy
@notes = Note.find params[:id]
@notes.destroy
respond_with @notes
end
end
答案 0 :(得分:0)
这里@tasks是零。而你正试图迭代它。这就是为什么会出现这个错误。
答案 1 :(得分:0)
我更新了Ruby 1.9.3并修复了问题。
答案 2 :(得分:0)
你需要升级到Ruby 1.9.3,请参阅: