嗨,我有一个用于更新用户帐户的简单表格,这是我的控制器
def edit
@users = User.find(params[:id])
end
这是我的看法
<%= form_for :user do |f| %>
<%= f.label :first_name %> <br />
<%= f.text_field :name ,:value => @users.name%><br />
<%= f.label :last_name %> <br />
<%= f.text_field :lname ,:value => @users.lname%><br />
<%= f.label :email %> <br />
<%= f.email_field :email ,:value => @users.email%><br />
<%= f.label :id %> <br />
<%= f.text_field :id ,:value => @users.id%><br />
<br />
<%= f.submit ({:confirm => "Are you sure?"}) %>
<% end %>
当我单击提交时,我收到以下 mongoid 错误
Mongoid::Errors::InvalidFind in UsersController#edit
问题:使用 nil 调用 Document.find 无效。
总结: Document.find 期望参数为 1 个或多个 id,如果提供 1 个 id,将返回单个文档,如果提供多个 id,则返回文档数组。
解决方法:这很可能是由于将参数直接传递给 find 造成的,而参数要么不存在,要么访问它的键不正确。
我对 Rails 相当陌生,这是我第一次使用 mongoDB。任何输入都会有所帮助,谢谢。