2013-09-19 4 views
1

Я использую ActiveResource 4.0 для сопоставления RESTFull API для моделирования классов в моем приложении Rails 4. Im получает ошибку "undefined method 'model_name' для SimpleDelegator: Class" только при попытке отредактировать объект.Ошибка с формой ActiveResource и Rails

Похоже, что объекты, загруженные потомками ActiveResource, были созданы вместо потомков SimpleDelegator - они не могут отвечать методу model_name.

Я читал код ActiveResource, но я не мог понять, почему это происходит. Кто-нибудь наткнулся на что-то подобное?

My Model:

class Database < ActiveResource::Base 
    self.size = "api.endpoint" 
end 

И в мой контроллер (сниппет)

На моих экранных форм (фрагмент):

<%= form_for @database do |d| %> 

    <%= d.label :dbname %> <!-- error reported on this line --> 
    <%= @database.dbname %> 

    <%= d.label :description %> 
    <%= @database.description %> 

<% end %> 
+0

Если у кого-то есть эта проблема, обновите activeresource-response до 1.0.1 – Fivell

ответ

1

Хорошо, я нашел проблему. Я также использую activeresource-response gem, чтобы получить параметры разбиения на страницы, отправленные с заголовками HTTP.

Как видно, here Этот камень использует SimpleDelegator для обертывания ответа после выполнения метода поиска для «захвата» полного htt_response соединения ActiveResource.

Я попытаюсь исправить это в драгоценном камне или использовать другое решение, но я думаю, что этот ответ может помочь кому-то другому.

+0

было бы здорово, если бы вы предоставили пример неудачного тестирования. – Fivell

+0

Я хочу воспроизвести эту ошибку. – Fivell

+0

Работала с @fivell для решения этой проблемы в gem. Благодарим вас за быструю обратную связь. –

Смежные вопросы