Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 用于mongoid错误的rails form__Ruby On Rails_Mongoid_Form For - Fatal编程技术网

Ruby on rails 用于mongoid错误的rails form_

Ruby on rails 用于mongoid错误的rails form_,ruby-on-rails,mongoid,form-for,Ruby On Rails,Mongoid,Form For,嗨,我有一个更新用户帐户的简单表单这里是我的控制器 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

嗨,我有一个更新用户帐户的简单表单这里是我的控制器

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 %>
问题: 使用nil调用Document.find无效

总结: Document.find要求参数为1个或多个id,如果提供了1个id,则返回单个文档;否则,如果提供了多个id,则返回一个文档数组

决议: 最有可能的原因是将参数直接传递给find,而该参数不存在或访问它的密钥不正确

我是rails的新手,这是我第一次尝试mongoDB。任何输入都会有帮助,谢谢。

尝试使用此表单

<%= form_for(@users) do |f| %>
   ...
   ...
<% end %>

...
...
出现此错误的原因是您正在使用
:user
用户控制器中查找
无效。。试用
<%= form_for(@users) do |f| %>
   ...
   ...
<% end %>