3

我将Trailblazergem 与 Rails 一起使用,并且我的一个操作中有一个Cell类,每当我在服务器运行时更​​改代码时就会Trailblazer开始抛出错误。superclass mismatch

如果我启动服务器并立即开始浏览网站,一切都运行良好。

但是,如果在启动服务器后随时更改某些代码,然后尝试在站点上加载页面,则会出现superclass mismatch错误。

4

2 回答 2

2

原来我的操作名称与我为操作创建的文件的名称不同。我最近将文件名从 更改register.rbmake_reservation.rb,但没有将操作类名称从 更改RegisterMakeReservation。当我也更改类名时,superclass mismatch错误停止发生。

于 2016-03-02T14:32:39.683 回答
1

如果你在玩Rails 5-pre的 Trailblazer 书,你需要注意名称间距的变化。没有正确的名称间距会导致类似的错误。

尽管在 Rails 4 中,模型继承自ActiveRecord::BaseRails 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
于 2016-03-25T19:12:48.683 回答