我希望能够从一个视角来做到这一点:
<%= my_component.render %>
my_component
是以下的实例:
class RandomComponent
def render
renderer.render(partial: 'components/random_component', object: self)
end
def renderer
# ???
end
end
我在renderer
方法中尝试过各种各样的事情 - 对ActionView::PartialRenderer.new
的调用,包含ApplicationHelper
的类的实例,以及包含类的实例ActionView::Helpers
等等。
我错过了什么?有没有办法在不传递对当前视图实例的引用的情况下执行此操作?我并不喜欢到处都是<%= my_component.render(self) %>
。