gpt4 book ai didi

Sinatra 和 Chartkick 示例

转载 作者:行者123 更新时间:2023-12-01 03:50:37 24 4
gpt4 key购买 nike

我对 Ruby 作为 Web 平台非常陌生,并且通过改编和扩展示例来最好地学习。我喜欢 Sinatra,想用它和 Chartkick 来显示图表。不幸的是,即使是最微不足道的例子,我也很难运行,而且似乎缺乏完整的例子(很多“单行”)。这是我所拥有的:

require 'sinatra'
require 'chartkick'

get '/' do
'<%= javascript_include_tag "//www.google.com/jsapi", "chartkick" %>
<%= pie_chart({"Football" => 10, "Basketball" => 5}) %>'
end

那么我做错了什么极其简单的事情呢?任何帮助将不胜感激。谢谢!

编辑,我的解决方案基于接受的答案:
require 'sinatra'
require 'chartkick'

template :layout do
<<LAYOUT
<html>
<head>
<title>Sinatra ERB Chartkick Test</title>
<script src="//www.google.com/jsapi"></script>
<script src="chartkick.js"></script>
</head>
<body>
<%= yield %>
</body>
</html>
LAYOUT
end

template :index do
<<INDEX
<center>
<h1>#{Time.now.inspect}</h1>
<p>
<%= pie_chart({"Football" => 10, "Basketball" => 5, "Hockey" => 2}) %>
</p>
</center>
INDEX
end

get '/' do
erb :index
end

此外,为了新手(像我一样),我将 chartkick.js 文件放在 public 文件夹中。还添加了 Hockey 以确保它不会神奇地默认为某些 jar 头示例。谁不喜欢曲棍球?

最佳答案

This is the section of the docs你需要完成这个例子。如果您不想将 View 分开文件,那么要么使用内联模板,例如

get '/' do
erb :index
end

__END__

@@ layout
<html><body>
<%= yield %>
</html></body>

@@ index
<%= javascript_include_tag "//www.google.com/jsapi", "chartkick" %>
<%= pie_chart({"Football" => 10, "Basketball" => 5}) %>

或命名模板:
template :layout do
<<LAYOUT
<html><body>
<%= yield %>
</html></body>
LAYOUT
end

template :index do
<<INDEX
<%= javascript_include_tag "//www.google.com/jsapi", "chartkick" %>
<%= pie_chart({"Football" => 10, "Basketball" => 5}) %>
INDEX
end

get '/' do
erb :index
end

我用过 heredocs为方便起见,请注意格式。

关于Sinatra 和 Chartkick 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23238671/

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