首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在viewcomponent中使用chartkick?

如何在viewcomponent中使用chartkick?
EN

Stack Overflow用户
提问于 2021-11-24 01:37:09
回答 1查看 22关注 0票数 0

view_component中呈现chartkick图表时,如果在一个页面中有多个图表,则最终呈现的只有一个图表。

问题与this one相同或相似。

如何使用视图组件呈现chartkick图表?

EN

回答 1

Stack Overflow用户

发布于 2021-11-24 01:37:09

在像ApplicationComponent这样的父组件类中,定义将用作图表id的内容:

代码语言:javascript
复制
  def chartkick_chart_id
    self.class.name.underscore.dasherize.gsub("/", "--")
  end

然后,重写chartkick_chart以设置图表的id,这样default setting of chartkick就不会生效。

代码语言:javascript
复制
  alias_method :orig_chartkick_chart, :chartkick_chart

  def chartkick_chart(klass, data_source, **options)
    opts = options.merge(id: chartkick_chart_id)
    orig_chartkick_chart klass, data_source, **opts
  end

只要您呈现同一图表页的一种类型,这就会起作用。如果在同一页中呈现两个图表(我不明白您为什么要这样做),请向ID添加一些随机化字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70089828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档