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