gpt4 book ai didi

ruby-on-rails - 我如何在演示者中使用 Enumerable mixin?

转载 作者:太空宇宙 更新时间:2023-11-03 16:48:42 25 4
gpt4 key购买 nike

我有一个演示器,我想让 each_with_index 方法可用。我在我的基本演示器中添加了 include Enumerable 但是,我仍然遇到无方法错误。我当前的代码如下:

索引.erb

<% @bids.each_with_index do |bid, index| %>
<% present bid do |bid_presenter| %>
<div class="large-4 medium-4 columns <%= bid_presenter.last_column %>"></div>
<% end %>
<% end %>

bid_presenter.rb

class BidPresenter < BasePresenter      
presents :bid

def last_column
if index == bid.size - 1
'end'
end
end
end

base_presenter.rb

class BasePresenter
include Enumerable
def initialize(object, template)
@object = object
@template = template
end

private

def self.presents(name)
define_method(name) do
@object
end
end

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

# if h is missing fallback to template
def method_missing(*args, &block)
@template.send(*args, &block)
end
end

bids_controller.erb

  # GET /bids
# GET /bids.json
def index
@bids = current_user.bids
end

最佳答案

您正在将所有未明确实现的方法转发给 @template。无论 @template 是什么,似乎都无法正确实现 each。您需要使 @template 正确响应 each

关于ruby-on-rails - 我如何在演示者中使用 Enumerable mixin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27893756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com