私はこれらのアクション を持つFamiliesControllerを持っています:
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
edit.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>
rotues.rb
resources :families
しかし、フォームを送信すると、次のようになります。
AbstractController::/families/5235513e1dba7f8605000004 の ActionNotFound
FamiliesController のアクション '5235513e1dba7f8605000004' が見つかりませんでした
(5235513e1dba7f8605000004) は個人の ID です。
ここで何が問題なのですか?
編集
だから私はSOで見つけました.Railsは英数字のIDをサポートしていないようです。また、回答に記載されているgemはmongoidでは機能しません(ActiveRecordモデル専用です)。では、Mongoid でこの問題を解決するにはどうすればよいでしょうか。
これは、Rails update メソッドを使用して Mongoid のデータベース レコードを更新できないということですか?