2013-06-27 1 views
0

Got 2 вопроса:Rails3 + Завещание + Simple_form: Singular ресурс и simple_form_for ошибки в помощнике пути

  1. Как я могу получить simple_form_for работать с особой ресурса: foo_object, который связан с: пользователей (см код выдержки ниже)? Я получаю NoMethodError: undefined метод foo_objects_path для @foo в строке simple_form_for. foo_object_path имеет допустимый путь, но, кажется, simple_form_for использует множественную версию. Я google'd & прочитал сообщения SO о проблемах с особыми ресурсами и пути, но не нашел для этого решения.

  2. Должен ли я создать вложенный ресурс для: foo_object, поскольку он связан с: user? Если да, то будет ли он противоречить модели пользователя Devise?

Маршруты:

devise_for :users 
resource :foo_object 

Модель:

:user is the Devise User's model and has_one :foo_object 
:foo_object belongs_to :user 

View (Haml): (обновление 6/27/13: исправлено на = от -)

= simple_form_for @foo do |f| 
    = f.input :firstname 
    = f.input :lastname 
    = f.button :submit 

Надеюсь, это ясно. Благодарю.

ответ

4

В руководстве по этому вопросу есть a note. Обходной путь:

= simple_form_for @foo, url: foo_object_path do |f| 
    = f.input :firstname 
    = f.input :lastname 
    = f.button :submit 
+0

Это решает проблему NoMethodError в # 1. Форма не отображается сейчас! (Заглядывая в нее.) Любые ответы на другие 2 вопроса? – HM1

+0

Я понял, почему форма не отображает и не обновляет ответ, чтобы отразить его. В противном случае решение по добавлению URL-адреса верное. – HM1

+0

Удивительно, приятно знать! –