私は、mongoid と simple_form を混在させることでいくつかの問題が発生することを期待しています (私が思うに、他のフォームビルダーでも同じ問題が実際にあります)。私は関係のある小さなフォームを持っています。
f.input :author, collection: User.all, as: :select
作成者を選択せずにフォームを送信すると、次のような例外が表示されます
NoMethodError in ExamplesController#update
undefined method `id' for "":String
とても悲しい:(私が見るように-simple_formは ""(空の文字列)を送信しますが、コントローラーにはnilではありません。もちろん-フォームビルダーから各パラメーターを検証できますが、それが良い解決策であるかどうかはわかりません。お勧めできますか?なにか?
UPD (モデル構造):
user.rb
class User
include Mongoid::Document
include Mongoid::Timestamps
has_many :examples, :inverse_of => :author
has_many :examples, :inverse_of => :responsible_person
end
たとえば .rb
class Example
include Mongoid::Document
include Mongoid::Timestamps
include Mongoid::MultiParameterAttributes
field :title, type: String
field :description, type: String
belongs_to :author, :class_name => "User"
belongs_to :responsible_person, :class_name => "User"
validates_presence_of :title, :description, :author
attr_accessible :title, :description, :author, :responsible_person
end