我将Trailblazer
gem 与 Rails 一起使用,并且我的一个操作中有一个Cell
类,每当我在服务器运行时更改代码时就会Trailblazer
开始抛出错误。superclass mismatch
如果我启动服务器并立即开始浏览网站,一切都运行良好。
但是,如果在启动服务器后随时更改某些代码,然后尝试在站点上加载页面,则会出现superclass mismatch
错误。
我将Trailblazer
gem 与 Rails 一起使用,并且我的一个操作中有一个Cell
类,每当我在服务器运行时更改代码时就会Trailblazer
开始抛出错误。superclass mismatch
如果我启动服务器并立即开始浏览网站,一切都运行良好。
但是,如果在启动服务器后随时更改某些代码,然后尝试在站点上加载页面,则会出现superclass mismatch
错误。
原来我的操作名称与我为操作创建的文件的名称不同。我最近将文件名从 更改register.rb
为make_reservation.rb
,但没有将操作类名称从 更改Register
为MakeReservation
。当我也更改类名时,superclass mismatch
错误停止发生。
如果你在玩Rails 5-pre的 Trailblazer 书,你需要注意名称间距的变化。没有正确的名称间距会导致类似的错误。
尽管在 Rails 4 中,模型继承自ActiveRecord::Base
Rails 5,但它是 form 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
end