小编BC0*_*C00的帖子

从嵌套哈希中删除特定元素

我正在尝试使用嵌套哈希.我有一副牌代表如下:

deck_of_cards = {
:hearts => {:two => 2, :three => 3, :four => 4, :five => 5, :six => 6, :seven => 7, :eight => 8, :nine => 9, :ten => 10, :jack => 10, 
            :queen => 10, :king => 10, :ace => 11},
:spades => {:two => 2, :three => 3, :four => 4, :five => 5, :six => 6, :seven => 7, :eight => 8, :nine => 9, :ten => 10, :jack => 10, 
            :queen => 10, …
Run Code Online (Sandbox Code Playgroud)

ruby hash-of-hashes

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

试图在gem中要求active_support

我有一个ruby gem,我想在rails active_support模块中包含的gem中使用Hash.from_xml方法.我的gemspec中有以下代码:

gem.add_dependency 'active_support', '~> 3.0.0'
Run Code Online (Sandbox Code Playgroud)

但是,当我在本地构建和安装gem时,运行irb,需要gem,我没有看到包含主动支持的方法?

关于我做错了什么或如何调试的任何建议?谢谢!

ruby gem ruby-on-rails activesupport

6
推荐指数
1
解决办法
6144
查看次数

Rails:在开发环境中测试Cron Jobs

我有一个名为'reports'的自定义环境,它设置为命中从属数据库.我正在尝试使用Whenever gem 配置一些cron作业,并希望在部署之前在开发中测试它们.有没有办法在开发中测试cron作业?无论如何我可以在本地安排它们然后启动我的报告服务器,看看它们是否运行?谢谢!

ruby cron ruby-on-rails whenever

5
推荐指数
1
解决办法
1419
查看次数

Git标记和rails gemfile

我有一个托管在github上的gem,还没有推到rubygems,我在这个gem的master分支中添加了一个标签:

git tag -a v0.1.0 -m "gem version 0.1.0"
git push origin -tags
Run Code Online (Sandbox Code Playgroud)

然后在我在github上的rails应用程序中我编辑了我的gemfile,如下所示:

gem 'your-gem', git: 'git://github.com/your-repo/your-gem.git', tag: 'v0.1.0'
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我将其他更改合并到我的gem的master分支中时,我的rails应用程序仍然指向我制作标记之前的最后一次提交?我只是想确保添加对gems master分支的其他更改不会破坏rails应用程序中的任何内容.谢谢

ruby git ruby-on-rails github gemfile

5
推荐指数
1
解决办法
3303
查看次数

在Ruby中通过Tempfile写入文件

我有以下后台工作写入csv文件并通过电子邮件发送出去.我正在使用Tempfile类,因此在将其通过电子邮件发送给用户后,该文件将被删除.目前,当我查看csv文件时,我生成的结果如下所示:

["Client Application"    "Final Price"   "Tax"   "Credit"    "Base Price"    "Billed At"     "Order Guid"    "Method of Payment Guid"    "Method of Payment Type"]
["web"   nil     nil     nil     nil     nil     nil     "k32k313k1j3"   "credit card"]
Run Code Online (Sandbox Code Playgroud)

请忽略这些数据,但问题是,它是以ruby格式直接写入文件而不是删除""和[]字符.

请参阅以下代码:

class ReportJob
@queue = :report_job

 def self.perform(client_app_id, current_user_id)
  user = User.find(current_user_id)
  client_application = Application.find(client_app_id)
  transactions = client_application.transactions
  file = Tempfile.open(["#{Rails.root}/tmp/", ".csv"]) do |csv|
    begin
     csv << ["Application", "Price", "Tax", "Credit", "Base Price", "Billed At", "Order ID", "Payment ID", "Payment Type"]
     transactions.each do |transaction|
      csv << "\n"
      csv …
Run Code Online (Sandbox Code Playgroud)

ruby csv temporary-files

4
推荐指数
2
解决办法
9842
查看次数

ruby从字符串中删除反斜杠

我怎么能把它变成没有斜线的常规字符串?

我有:

 "3e265629c7ff56a3a88505062dd526bd\""
Run Code Online (Sandbox Code Playgroud)

我想要:

"3e265629c7ff56a3a88505062dd526bd"
Run Code Online (Sandbox Code Playgroud)

ruby

3
推荐指数
2
解决办法
6394
查看次数

ruby 捕获方法和正则表达式

我是MatchData#captures第一次在 Ruby 中遇到这个方法,想问问是否有人可以为我解释一下。Ruby 文档说:

返回捕获数组;相当于mtch.to_a[1..-1]

但是,我目前正在一个长字符串上运行正则表达式,它似乎返回了我评估的最后一项?这有意义吗?

这是字符串:

431cdb7b1ad8183a1434b6d1a407731fac0ea61b8d720d733fefaa77f063df8e vidcoder [23/May/2012:01:17:16 +0000] 76.78.212.49 - B24DEA4883A9FF95 REST.GET.OBJECT accounts/6/videos/xboxcCFC/video.mp4 "GET /accounts/6/videos/xboxcCFC/video.mp4 HTTP/1.1" 206 - 2 697898511 56 56 "-" "Apple Mac OS X v10.6.8 CoreMedia v1.0.0.10K549" -
Run Code Online (Sandbox Code Playgroud)

这是正则表达式:

line.match(%r{^.*\s+HTTP.*\s+-\s+(\d+)\s+}).captures
Run Code Online (Sandbox Code Playgroud)

在这种情况下它返回数字 2

ruby regex

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

git从远程分支的本地分支变基础

我有一个本地分支test,我想要远离分支机构test,我该怎么做?我曾经尝试过git rebase origin test,但不久之前有人推过的改变并没有被重新引入当地?

git github

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

SQLAlchemy 获取最大值

我试图在一个属性的表中获取最大值,该属性是风险:

我在跑步:

func.max(HostsModel.risk)
Run Code Online (Sandbox Code Playgroud)

我回来了:

<sqlalchemy.sql.functions.max at 0x10f0721d0; max>
Run Code Online (Sandbox Code Playgroud)

我如何真正从中获得价值?

我将这些视为可用功能:

 dir(func.max(HostsModel.risk))
['__add__', '__and__', '__bool__', '__class__', '__contains__', '__delattr__', '__dict__', '__dir__', '__div__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__module__', '__mul__', '__ne__', '__neg__', '__new__', '__nonzero__', '__or__', '__radd__', '__rdiv__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__rshift__', '__rsub__', '__rtruediv__', '__setattr__', '__sizeof__', '__slots__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__visit_name__', '__weakref__', '_allow_label_resolve', '_alt_names', '_annotate', '_annotations', '_bind', '_bind_param', '_clone', '_cloned_set', '_cols_populated', '_compare_name_for_result', '_compiler', '_compiler_dispatch', '_constructor', '_copy_internals', '_deannotate', '_execute_on_connection', '_execution_options', …
Run Code Online (Sandbox Code Playgroud)

python sql sqlalchemy flask-sqlalchemy

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

Ruby/Rails:了解ruby getter-setter方法和实例

我是ruby和编程的新手,我正在尝试掌握一些关键概念.鉴于我有一类狗,具有以下特点.

class Dog
  attr_accessor :type, :popularity, :total

  def initialize(type = nil)
    @type = type
  end

  def total_dogs
    Dog.count
  end

  def total
    Dog.where(:type => self.type).size
  end

  def popularity
    total.to_f/total_dogs
  end
end
Run Code Online (Sandbox Code Playgroud)

我想要了解的是,ruby如何通过getter/setter方法将属性持久化到实例.我清楚地知道,如果我实例化一个新实例然后将属性保存到该实例,那么这些属性就绑定到该实例,因为如果我查看该对象,则属性如下所示:

 @dog = Dog.new
 @dog
 => #<Dog:0x007fa8689ea238 @type=nil> 
Run Code Online (Sandbox Code Playgroud)

我很容易理解,当我传递@dog对象时,总是将@type属性作为nil.但是,我理解的情况是我将这个@dog对象传递给另一个类.就像我做的那样:

 Owner.new(@dog)
Run Code Online (Sandbox Code Playgroud)

当我在所有者类中并且我调用@ dog.popularity时,它如何知道该实例的流行度值?在运行时,所有方法都被处理,然后该实例总是与当时的值绑定?抱歉,如果这没有意义,或者我离开了.

ruby ruby-on-rails getter-setter ruby-on-rails-3

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

Grails jquery更改

我今天对grails来说是全新的,我来自ruby on rails.我的问题是,如果我的grails应用程序在本地运行时编辑jquery或任何代码,是否每次都需要重新启动服务器以查看我的更改?或者当我保存更改时,我应该在我的本地主机上看到它们,就像在rails中一样?谢谢!

jquery grails

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