Reform gem для создания пользователя Devise, вложенного в ресурс Checklist - возможно ли это?

Я пытаюсь создать приложение с контрольным списком планирования событий, используя Devise для пользовательской модели, гем Reform и simple_form.

Я продолжаю видеть это сообщение об ошибке, когда я получаю доступ к пути '/new_checklist': неопределенный метод `event_date'для #.

Что я делаю неправильно? По разным причинам мой пользовательский ресурс вложен в ресурс моего контрольного списка.

Вот мой контроллер контрольного списка событий:

def new_checklist
  @form = EventChecklistForm.new(event_checklist: EventChecklist.new,
                            user: User.new)
end

Модель пользователя:

class User < ActiveRecord::Base
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable
  require 'securerandom'
  has_many :checklist_items
  belongs_to :event_checklist
end

Контрольный список модели:

class EventChecklist < ActiveRecord::Base
  has_many :checklist_items
  has_many :users
  accepts_nested_attributes_for :checklist_items
end

Модель формы контрольного списка событий:

class EventChecklistForm < Reform::Form
  # include DSL
  include Reform::Form::ActiveRecord

  property :event_date, on: :event_checklist
  property :code, on: :event_checklist

  property :email, on: :user
  property :password, on: :user
  property :password_confirmation, on: :user
end

Я также попытался добавить "model:event_checklist" в конец модели контрольного списка событий, но это не имело значения.

И наконец, форма:

= simple_form_for @form do |f|

  = f.input :event_date
  = f.input :code
  = f.input :email
  = f.input :password
  = f.input :password_confirmation

Я надеялся вложить пользовательскую модель Devise в модель контрольного списка событий и одновременно создать обе, используя гем Reform. Разве это не может быть сделано? Спасибо!

1 ответ

Была такая же проблема. Следуйте инструкциям на https://github.com/apotonick/reform.

В основном вы должны:

class EventChecklistForm < Reform::Form
  include Composition
  ...
end
Другие вопросы по тегам