Использование url_for (form_for) для новых экземпляров неактивных моделей записей

#ruby-on-rails-3 #urlhelper

#ruby-on-rails-3 #urlhelper

Вопрос:

Мне нужна такая конструкция:

 form_for Project.new
  

где Project — это модель, которая не унаследована от AR / AM / Mongoid (унаследована от Spira).

Есть ли какой-нибудь обезьяний патч, чтобы заставить модели Spira отвечать url_for Project.new правильным ‘http://example.org/projects ‘?

Теперь это выдает исключение

Маршрут не соответствует {:controller=>»проекты», :id=>, :action=>»показать»}

http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-url_for

здесь сказано, url_for использует persisted?, но я определил persisted? правильно в методах экземпляра, и это не работает.

Есть идеи?

Ответ №1:

Это объявлено в вашем классе Project?

 extend ActiveModel::Naming
  

Я считаю, что это облегчает присвоение имен маршрутам. Однако это не все, что вам нужно включить на 100%.