演示者姓名错误未初始化常量

Presenter name error uninitialized constant

我已经开始使用以下 RailsCast 作为指南为我的一些复杂视图实现演示器:http://railscasts.com/episodes/287-presenters-from-scratch

我收到以下错误 NameError at /bids/41 uninitialized constant BidPresenter 并且无法弄清楚哪里出错了! Better Errors 告诉我是这一行导致了助手中的错误:klass ||= "#{object.class}Presenter".constantize

# presenter helper
# https://www.youtube.com/watch?v=HWN1nUlgQ8Y
def present(object, klass = nil)
  # if a klass isn't specified determine the class based off the object 
  # klass (bids presenter, user presenter etc)
  klass ||= "#{object.class}Presenter".constantize
  # instantiate presenter
  presenter = klass.new(object, self)
  # yield presenter if a block is given
  yield presenter if block_given?
  # return presenter back from the method
  presenter
end

我的bids_presenter.rb:

class BidsPresenter
    def initialize(bid, template)
        @bid = bid
        @template = template
    end

    # h method returns the template object
    def h
        @template
    end

    def bid_data_upper_price_estimate
        h.number_to_currency(@bid.upper_price_estimate, precision: 2)
    end
end

我的观点show.html.erb:

<% present @bid do |bid_presenter| %>
    <%= bid_presenter.bid_data_upper_price_estimate %>
<% end %>

您的 class 称为 BidsPresenter,但您的错误提示代码正在寻找 BidPresenter

没有"s".