I have 家庭控制器通过这些行动:
def edit
@family=Family.find(params[:id])
end
def update
@family=Family.find(params[:id])
@family.update_attributes(params[:family])
end
家庭模式:(使用 Mongoid)
attr_accessible :location
field :location
编辑.html.erb
<div class="container">
<%= form_for @family do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :location %><br />
<%= f.text_field :location %>
</p>
<%= f.submit "Submit" %>
</div>
路线.rb
resources :families
但是当我提交表格时我得到:
AbstractController::ActionNotFound 位于 /families/5235513e1dba7f8605000004
找不到 FamiliesController 的操作“5235513e1dba7f8605000004”
(5235513e1dba7f8605000004) 是该人的 ID
这里有什么问题吗?
EDIT
所以我发现了SO,看起来像Rails 不支持字母数字 ID此外,答案中提到的 gem 不适用于 mongoid (它们仅适用于 ActiveRecord 模型)。那么如何解决 Mongoid 的这个问题呢?
这是否意味着我无法使用 Rails 更新方法来更新 Mongoid 中的数据库记录?
我移动了
资源:家庭
到顶部路线.rb。现在效果很好。
不要不知道为什么会这样。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)