小编hof*_*ffm的帖子

什么是递归数组有用?

Ruby支持递归数组(即自包含数组):

a = []
# => [] 
a << a
# => [[...]] 
a.first == a
# => true 
Run Code Online (Sandbox Code Playgroud)

这本质上很酷,但你可以用它做什么工作?

ruby arrays recursion

30
推荐指数
2
解决办法
3007
查看次数

S_412_PRECONDITION_FAILED =在公司页面上共享时参数无效

今天,我注意到我向LinkedIn公司页面发送股票的所有API调用都返回以下错误:

参数无效:{S_412_PRECONDITION_FAILED =参数无效}

我正在使用XML格式.我尝试将相同的份额分配给LinkedIn帐户,但效果非常好.

这是我的xml请求:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<share>
    <comment>Comment</comment>
    <content>
        <title>title</title>
        <description>description</description>
        <submitted-url>URL</submitted-url>
        <submitted-image-url>IMAGE_URL</submitted-image-url>
    </content>
    <visibility>
        <code>anyone</code>
    </visibility>
</share>
Run Code Online (Sandbox Code Playgroud)

LinkedIn API是否有重大变化?

linkedin linkedin-api

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

String#pluralize idempotent?

也就是说,对于任何String string,以下是否保持?

string.pluralize == string.pluralize.pluralize
Run Code Online (Sandbox Code Playgroud)

ruby string ruby-on-rails idempotent plural

7
推荐指数
2
解决办法
310
查看次数

301重定向Rails 3路由中的一组相关路径

我想建立一个永久重定向的每个路径,从开头/articles的类似路径开始/blog.

我知道如何在路线中单独重定向路径,例如

match "/articles/" => redirect("/blog/")

但是,如果我也想重定向诸如路径/articles/:id/articles/category/:id等等,我需要有明确的重定向对于那些为好.

我希望有一种方法可以一举重新定位所有这些路径,现在和将来.

我意识到我可以在控制器中用a来相对容易地做到这一点before_filter,但我相信这种行为属于路线,我希望将它保留在那里.

url-routing ruby-on-rails-3

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

你能在ruby中的一行上动态初始化多个变量吗?

(我只编写了几周,这是我的第一个问题,所以请耐心等待!)

在ruby中,我知道你可以在一行上初始化多个变量,如下所示:

a, b = 1, 2
Run Code Online (Sandbox Code Playgroud)

但是,我想知道是否可以在一个也生成其名称的循环中初始化多个变量.这是一些解释我的意思的伪代码:

For X between 0 and 3, even_X = X * 2
Run Code Online (Sandbox Code Playgroud)

这将设置even_0 == 0,even_1 == 2,even_2 == 4,和even_3 == 6.

我意识到通过迭代创建一个数组然后调用它的成员可以实现相同的功能,但我仍然很好奇是否有办法做到这一点.

谢谢!

ruby

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

ActiveRecord find_all_by_X是否保留顺序?如果没有,应该使用什么?

假设我有一个非空idsThing对象id 数组,我想找到相应的对象things = Thing.find_all_by_id(ids).我的印象是,things不一定会有类似的顺序ids.

  1. 我的印象是否正确?

  2. 如果是这样,我可以使用什么而不是find_all_by_id保留订单并且不会多次不必要地访问数据库?

activerecord ruby-on-rails

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

你如何在ruby中对多种类型进行排序?

假设您有一组跑步者:

runners = [al, betty, chris, debby]
Run Code Online (Sandbox Code Playgroud)

而且你有一个方法time可以在比赛中返回跑步者的时间.

time方法总是返回一个浮点数的情况下,我知道您可以使用sort_by以下方法对运行者进行排序:

runners.sort_by do |runner|
    runner.time
end
Run Code Online (Sandbox Code Playgroud)

但是,假设time有时返回一个字符串,比方说"disqualified".在那种情况下,你会如何按时间对跑步者进行排序,不合格的跑步者会持续多久?如果你想让不合格的跑步者先或在其他位置怎么办?

ruby sorting

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

如果新属性与现有属性相同,Active Record是否继续"保存"?

我编写了一个定期运行的任务,用于重新计算和更新Active Record模型的特定列中的信息.通常,新计算的对象(如果重要的话,它是json编码的哈希)将与现有对象相同.在这种情况下,我怀疑检查此身份并中止保存而不是保存可能更有效.因此,我正在考虑使用self.save! if changed?而不仅仅是self.save!.我的问题是:

  1. Active Record是否自动执行此操作,以便这两个命令实际上是等效的?
  2. 如果我怀疑它没有,我是否可以通过添加if changed?条件来节省CPU时间?

(如果我在这里误用了一些术语,我很抱歉.我是游戏的新手.)

activerecord ruby-on-rails

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

是否应该做一些我不期望的事情?

考虑以下两个琐碎的模型:

class Iq

  def score
    #Some Irrelevant Code
  end

end

class Person

  def iq_score
    Iq.new(self).score   #error here
  end

end
Run Code Online (Sandbox Code Playgroud)

以下Rspec测试:

describe "#iq_score" do

  let(:person) { Person.new }

  it "creates an instance of Iq with the person" do
    Iq.should_receive(:new).with(person)
    Iq.any_instance.stub(:score).and_return(100.0)
    person.iq_score
  end

end
Run Code Online (Sandbox Code Playgroud)

当我运行此测试(或者更确切地说,类似的测试)时,看起来存根没有工作:

Failure/Error: person.iq_score
  NoMethodError:
    undefined method `iq_score' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)

正如您可能猜到的那样,失败在上面标记为"错误"的行上.当该should_receive行被注释掉时,此错误消失.这是怎么回事?

ruby testing rspec expectations stubbing

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