ActiveResource 4.0 を使用して、RESTFull API を Rails 4 アプリケーションのモデル クラスにマップしています。オブジェクトを編集しようとしたときにのみ、「SimpleDelegator:Class の未定義のメソッド 'model_name'」というエラーが表示されます。
ActiveResource の子孫によってロードされたオブジェクトは、代わりに SimpleDelegator の子孫として作成されているようです - これは model_name メソッドに応答できません。
ActiveResource コードを読みましたが、なぜこれが起こっているのか理解できませんでした。誰かがこのようなものにつまずいたことがありますか?
私のモデル:
class Database < ActiveResource::Base
self.size = "api.endpoint"
end
そして私のコントローラー(スニペット)で
def new
@database = Database.new
end
def edit
@database = Database.find(params[:id])
if !@database
redirect_to databases_path
end
end
私のフォームビュー(スニペット):
<%= form_for @database do |d| %>
<%= d.label :dbname %> <!-- error reported on this line -->
<%= @database.dbname %>
<%= d.label :description %>
<%= @database.description %>
<% end %>