我正在使用 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 %>