我正在使用带有几个图形的Rails 3.1.1/Highcharts的仪表板应用程序,但我仍然坚持将rails模型中的日期字符串转换为highcharts可以接受的javascript格式.
我的示例代码:
<%= @orders.map{ |f| [f.date, f.units.to_f] }.inspect %>
Run Code Online (Sandbox Code Playgroud)
生成此输出:
[[Fri, 04 Nov 2011, 182.0], [Sun, 06 Nov 2011, 189.0], [Tue, 08 Nov 2011, 178.0], [Thu, 10 Nov 2011, 115.0], [Sat, 12 Nov 2011, 135.0], [Mon, 14 Nov 2011, 120.0], [Thu, 17 Nov 2011, 181.0], [Sun, 20 Nov 2011, 145.0]]
Run Code Online (Sandbox Code Playgroud)
我需要具有数组的日期格式,如下所示:
Date.UTC(2010, 10, 4).
Run Code Online (Sandbox Code Playgroud)
有关现有rails/ruby方法的任何建议或如何创建帮助程序?
我刚开始学习红宝石.现在我需要弄清楚多维数组的维度.我查看了所有数组方法的ruby-docs,但我找不到返回维度的方法.
这是一个例子:
因为[[1, 2],[3,4],[5,6]]维度应该是2.
因为[[[1,2],[2,3]],[[3,4],[5]]],维度应为3.
我正在关注Kaminari的railscast(http://railscasts.com/episodes/254-pagination-with-kaminari).但是我坚持使用控制器部件.
在我的控制器中,我有这样的事情:
def index
@articles = (params[:mine] == "true") ? current_user.articles : Article.search(params[:search])
respond_to do |format|
format.html
format.json { render json: @articles }
end
end
Run Code Online (Sandbox Code Playgroud)
现在我不知道如何链接方法,顺序,页面和每个,就像在截屏视频中一样.order("name").page(params[:page]).per(5).我继续在Array中获得no方法'order'.我知道我不能调用数组上的方法,但我怎么能链接它们呢?
我需要在Ruby on Rails 3应用程序中生成一些图表和图形.
我一直在寻找一个宝石来帮助我,我找到了gchartrb,googlecharts和gruff,但前两个似乎太老了不能支持Rails 3(最后一次提交是在2008年左右)并且粗暴地读到我不推荐因为它取决于ImageMagick和RMagick.但这也是从2007年开始的.
HighCharts也有漂亮的图表,但我没有太多的JavaScript技能
那么什么宝石或什么方法最好在rails应用程序中有一些条形/线/饼图?
我已经在Mac上工作了一个多月,在此之前我一直在使用Windows并写了一个.bat文件来运行一些其他的小.bat文件来启动MongoDB,启动livereload,rails服务器和一个rails console.它最后推出了e-texteditor,它打开了rails dir作为一个项目.
我希望这是一个正确的地方,而不是超级用户.那么在Mac上自动化这些东西的一种方法是什么? - 目前,我启动了1个带有4个选项卡的终端窗口.tab 1运行'mongod',tab 2运行'rails s',tab 3运行'guard start',tab 4运行'rails c'.然后我打开另一个标签然后"交配".
我正在进行一个checkers实现,我有几十个容易测试的方法,但我不知道如何测试我的主#play_game方法.我的大多数方法都很容易确定输入和输出,因此很容易测试,这种方法是多方面的,并且实际上没有容易辨别的输出.这是代码:
def play_game
puts @gui.intro
while(game_over? == false)
message = nil
@gui.render_board(@board)
@gui.move_request
player_input = gets
coordinates = UserInput.translate_move_request_to_coordinates(player_input)
message = MoveCheck.move_validator(coordinates[0], coordinates[1], coordinates[2], coordinates[3])
puts message unless (message.nil? or message == "jumping move")
if(message == nil or message == "jumping move")
@current_player = switch_player unless (message == "jumping move" and jump_available? == true)
end
end
puts @gui.display_game_ending_message
end
Run Code Online (Sandbox Code Playgroud)
那么,如何进行测试(使用RSpec的),或者我应该不用担心,真正对我,否则全面的测试?
在工作中,我很遗憾地被迫使用Windows.我对gVim提供的字体选择感到不满(阅读:愤怒),我想把它改成我在家里的开发电脑上使用的字体.
但是,当涉及到set guifont =选项的可用内容时,gVim的选项有限.即使我知道有问题的字体对于VIM是很好的,因为我在其他地方使用它,我不知道如何添加到可用字体列表,即使我已经在这台机器上安装它,我找不到这个信息随处可见
有没有人对此有任何见解?我真的不明白为什么我不能把guifont设置为任何等宽字体我该死的,而不是gVim认为最好的.
我想知道如何将假值传递给我的ruby脚本.
如果我调用:
ruby myscript.rb false
Run Code Online (Sandbox Code Playgroud)
然后在我的脚本中,如果我说:
my_class.new(*ARGV)
or my_class.new(ARGV[0])
Run Code Online (Sandbox Code Playgroud)
基本上传递值为"false"的字符串.显然,如果我说
if(ARGV[0]){ do something} .. this gets executed even if value passed is false.
Run Code Online (Sandbox Code Playgroud)
我可以将我的函数签名更改为自动隐藏参数到布尔..所以我不必这样做
if(ARGV[0]=='true')
Run Code Online (Sandbox Code Playgroud) 我有模特:帖子和用户(设计).我正在测试控制器Post.
describe "If user sign_in" do
before(:all){
@user = Factory(:user)
}
it "should get new" do
sign_in @user
get 'new'
response.should be_success
response.should render_template('posts/new')
end
it "should create post" do
sign_in @user
post 'create', :post => Factory(:post)
response.should redirect_to(post_path(:post))
end
end
Run Code Online (Sandbox Code Playgroud)
但第二次测试失败了:
失败/错误:发布'创建',:发布=>工厂(:发布)ActiveRecord :: RecordInvalid:验证失败:已收到电子邮件,已收到电子邮件,已取得用户名
我该如何解决?
我正在为我的模型添加一个counter_cache:
用户(id,org_id)Orgs(id,users_count)
但是得到以下错误: ArgumentError (Unknown key(s): counter_cache):
class Org < ActiveRecord::Base
has_many :users, :counter_cache => true
class User < ActiveRecord::Base
belongs_to :org
Run Code Online (Sandbox Code Playgroud)
什么设置错误的任何想法.我想Org.users_count为该组织中的#个用户返回counter_cache?
ruby ×3
rspec ×2
testing ×2
arrays ×1
automation ×1
charts ×1
controller ×1
factory-bot ×1
highcharts ×1
javascript ×1
kaminari ×1
macos ×1
pagination ×1
vim ×1