小编Slo*_*boy的帖子

使用JSON将Googlesheets中的数据解析为Ruby on Rails应用程序中的FusionCharts时未定义的局部变量或方法`parsedData'

从进出口数据加载Googlesheetsfusioncharts在我的Rails应用程序.

我用来Jquery从Google工作表中获取数据,如本教程中所示https://www.sitepoint.com/interactive-javascript-charts-using-data-from-google-sheets/

undefined local variable or method 'parsedData' for #<GreetingsController:0x007fdb862e9cf8>当我尝试从这个pasedData变量中获取数据时,Rails总是给我这个错误.

data: parsedData

我不确定我在这里做错了什么,这是我第一次使用JSON将数据加载到rails app中的fusioncharts.任何帮助将非常感激

这里是Jquery片段,googlesheets变成了JSON.

var spreadsheetId = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  url = "https://spreadsheets.google.com/feeds/list/" +
  spreadsheetId +
  "/od6/public/basic?alt=json";

$.get({
  url: url,
  success: function(response) {
    var data = response.feed.entry,
      len = data.length,
      i = 0,
      parsedData = [];

    for (i = 0; i < len; i++) {
      parsedData.push({
        label: data[i].title.$t,
        value: data[i].content.$t.replace('income: ', '')
      });
    }

  }
});
Run Code Online (Sandbox Code Playgroud)

这是rails控制器的fusionchart片段

     @chart2 = Fusioncharts::Chart.new({    

     type: …
Run Code Online (Sandbox Code Playgroud)

javascript ruby json ruby-on-rails fusioncharts

10
推荐指数
1
解决办法
316
查看次数

Chartkick饼图在使用库选项时未显示百分比

在我的ROR中,我想将Percentages添加到我的Piechart中,我正在使用chartkickgem来渲染饼图.我已经尝试了各种方法解决这个问题,但似乎没有办法.我也用Google搜索并查看堆栈溢出时的类似帖子.

这是我想出来的,但它没有显示%.

 <%= pie_chart [["Soccer", @soccer_total], ["Basketball",  @basketball_total, ["Baseball",  @baseball_total], ["Other", @other_total ]], library: {legend: {labelFormat: '{name} : {y} ({percentage}%)'}} %>
Run Code Online (Sandbox Code Playgroud)

我也试过这种方法,但还是运气不错

<%= pie_chart [["Soccer", @soccer_total], ["Basketball",  @basketball_total, ["Baseball",  @baseball_total], ["Other", @other_total ]], library: {pieSliceText: 'value-and-percentage'} %>
Run Code Online (Sandbox Code Playgroud)

请更有经验的人帮助我吗?

更新OSCAR的答案

我按照奥斯卡答案提供的指示,但仍未显示%.

这是怎么<head>application.html.erb样子:

  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag "https://www.gstatic.com/charts/loader.js" %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag "path/to/highcharts.js", "chartkick" %>
Run Code Online (Sandbox Code Playgroud)

appplication.js是这样的:

//
//= require jquery
//= …
Run Code Online (Sandbox Code Playgroud)

ruby charts ruby-on-rails chartkick

9
推荐指数
2
解决办法
1454
查看次数

如何在rails app中将<img rel="nofollow noreferrer" src =>转换为image_tag

这是我在这里的第一篇文章,听起来可能非常愚蠢.我正在构建我的第一个rails应用.

我有这条线 index.html.erb

    <img src="/assets/rand_front/<%= @random_image%>", style='height:50vw;width:100vw;margin-bottom:20px;' >
Run Code Online (Sandbox Code Playgroud)

我想用image_tag而不是img src

将它包装在代码中的正确方法是什么?

到目前为止我已经尝试过了 <%= image_tag ( "/assets/rand_front/<%= @random_image%>", style='height:50vw;width:100vw;margin-bottom:20px;') %>

<%= image_tag ( "/assets/rand_front/<%= @random_image%>"), style='height:50vw;width:100vw;margin-bottom:20px;' %>

和许多其他版本,但似乎没有工作,我做错了什么?我该怎么写呢?

<%= @random_image%>一位是从index控制器中的方法获取此变量.

def index
   @products = Product.all.order(created_at: :desc).group_by(&:category_id)
    @images  = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg", "7.jpg", "8.jpg", "9.jpg", "10.jpg"]
    @random_no = rand(10)
    @random_image = @images[@random_no]
end
Run Code Online (Sandbox Code Playgroud)

html css ruby ruby-on-rails

8
推荐指数
1
解决办法
2万
查看次数

ActiveRecord:在计算中将 nil 视为 0?

paper_weight我在控制器中使用此代码来访问分类中所有用户的平均值Heavy

if User.where(industry_type: 'Heavy')
 .joins(:papers)
 .where(papers: { paper_type: 'Officepaper' } )
 .pluck('avg(paper_weight)').first.nil?
 @heavy_indust_officepaper == 0
else
@heavy_indust_officepaper = User.where(industry_type: 'Heavy')
 .joins(:papers)
 .where(papers: { paper_type: 'Officepaper' } )
 .pluck('avg(paper_weight)').first * 3 
end
Run Code Online (Sandbox Code Playgroud)

然后该变量@heavy_indust_officepaper将显示在视图中。

nil问题在于,当一个或多个用户在 中输入条目时,上面的这段代码似乎无法正确计算平均值paper_type: 'Officepaper'

我知道这一点是因为我有两个用户,其中industry_type: 'Heavy' 一个有一个条目,其中paper_type: 'Officepaper'的条目是十进制 30。另一个用户有nil条目paper_type: 'Officepaper'

根据我的理解计算应该是30 + 0 / 2(users) = 15

然后15乘以3它应该给出45

但是变量@heavy_indust_officepaper显示90在视图中......这必须是以下结果30 * 3

有没有办法将上面代码中的 转换为 …

ruby activerecord ruby-on-rails ruby-on-rails-4 ruby-on-rails-5

3
推荐指数
1
解决办法
2472
查看次数

如何在order_form中修复'错误的参数数量(1为0)'

我的应用程序在一个小时前被完美的工作,然后我加两列,:pick_up:send以"订单"表,在那之后我得到这个错误

wrong number of arguments (1 for 0)
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会导致这个错误.

这是orders_controller.rb:

class OrdersController < ApplicationController

  include CurrentCart
  before_action :set_cart, only: [:new, :create]
  before_action :set_order, only: [:show, :edit, :destroy]

  def index
    @orders = Order.all? 
  end

  def new
    @images  = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg"]
    @random_no = rand(5)
    @random_image = @images[@random_no]

    if @cart.product_items.empty?
      redirect_to root_url, notice: 'Your Cart is Empty'
      return

    end
    @order = Order.new
    @client_token = Braintree::ClientToken.generate
  end

  def create
    @order = Order.new(order_params)
    if @order.save
      charge
      if @result.success? …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails argument-error

0
推荐指数
1
解决办法
683
查看次数