我在Rails中使用Trailblazer gem,在我的一个Trailblazer操作中有一个Cell类,每当我在服务器运行时更改代码时,它就会引发superclass mismatch错误。
如果我启动服务器并立即开始导航站点,一切都会正常运行。
但是,如果在启动服务器后的任何时间更改一些代码,然后尝试在站点上加载一个页面,我将得到一个superclass mismatch错误。
发布于 2016-03-02 14:32:39
结果,我的操作名称与我为该操作创建的文件的名称不同。最近,我将文件名从register.rb更改为make_reservation.rb,但没有将操作类名从Register更改为MakeReservation。当我更改类名时,superclass mismatch错误不再发生。
发布于 2016-03-25 19:12:48
如果你在玩Rails 5-pre的开拓者书籍,你需要注意名字间距的变化。没有正确的名称间隔会导致类似的错误。
虽然在Rails 4中,模型继承了Rails 5中的ActiveRecord::Base,但它是ApplicationRecord的形式。
你的app/concepts/thing/operation.rb,在我的例子中,app/concepts/listing/operation.rb应该是.
class Listing < ApplicationRecord
class Create < Trailblazer::Operation
def process(params)
@model = Listing.create(params[:listing])
end
end
endhttps://stackoverflow.com/questions/35750104
复制相似问题