我有个问题。我在我的Rails应用程序中使用了reform gem,其中包含一些复杂的表单。不幸的是,我在创建表单时卡住了。这是我的代码:
class Order::Form < Reform::Form
include Coercion
include Composition
include Reform::Form::ActiveRecord
property :subscription, on: :order
property :due_date, type: Date, on: :order
property :start_fee, numericality: true, on: :order
collection :products, populate_if_empty: Product, on: :order do
property :type
property :budget
end
property :campaign, on: :order do
property :customer_id
property :customer do
property :id
property :organization_number
end
end
model :order
def persist!(params)
if validate(params)
binding.pry
# begin
::ActiveRecord::Base.transaction do
save do |data, map|
...
end
end
# rescue Exception
# false
# end
end
end
end当我试图保存时,我收到了这个错误:
NoMethodError - undefined method `to_hash' for #<#<Class:0x007f984ddef6d8>:0x007f984a65a4>我想知道我是否正确地配置了嵌套模型的组合。
发布于 2014-08-08 22:04:14
我只是遇到了同样的异常,这是因为我正在将一个常量(ENV)设置重新定义为String。因为它最初是一个全局常量类型的Hash,所以我使用的gem搞混了。
尝试查看是否在其他地方替换了以前是Hash的值。
https://stackoverflow.com/questions/24367449
复制相似问题