小编mu *_*ort的帖子

rails scope with where = false,在heroku上的工作方式不同

我的代码上有这个:

scope :to_send, where(:sent => false)
Run Code Online (Sandbox Code Playgroud)

在本地使用mysql我看到了这个:

`scheduled_messages`.`sent` = 0 
Run Code Online (Sandbox Code Playgroud)

在Heroku而不是(与pg):

"scheduled_messages"."sent" = 'f' 
Run Code Online (Sandbox Code Playgroud)

为什么?

mysql postgresql ruby-on-rails heroku

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

将默认值添加到另一列的迁移中

由于updated_at列在更新时查看所有属性,我想添加一个new_updated_at,我将在更新时决定.

通过迁移插入时的默认值我希望它是当前的updated_at.

如何将迁移的默认值设置为同一行但另一列的值?

postgresql ruby-on-rails default-value rails-migrations ruby-on-rails-3

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

将向量成员(struct)传递给函数

我在跟随代码行时遇到错误.我试图将向量p的元素p [0],p [1],p [2],p [3]传递给函数距离.

typedef struct {
     long long x,y;
} point; 

long long distance (point A,point B)
{
    int d1 = A.x - B.x ;
    int d2 = A.y - B.y ;
    long long d = d1 * d1 + d2 *d2 ;
    return d ;
}

 //in main function I declared vector <point> p and took input and then,
    x1 = distance (p[0],p[1]) ; // this line is causing error
    x2 = distance (p[1],p[2]) ; // this …
Run Code Online (Sandbox Code Playgroud)

c++ structure vector

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

在postgres中查找数组长度

我试过array_upper(array(Value)) ,array_upper((Value):array[]) 但是语法错误.

值:数据类型为int []; 我期待结果如下表所示:

 Pname  week_date      Value    array_length
    5773    6/8/2013    {29}            1
    5773    3/30/2013   {27}            1
    5773    3/16/2013   {138,3,4}       3
    5773    3/9/2013    {37,8}          2
    5773    1/19/2013   {66}            1
    5773    1/5/2013    {49,50,50,56}   4
Run Code Online (Sandbox Code Playgroud)

但这很好用

select array_upper(array[1,2,3,6], 1)
Run Code Online (Sandbox Code Playgroud)

我需要使用Value列并找出该值数组的长度

postgres版本:8.2

arrays postgresql greenplum postgresql-8.2

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

Postgresql 在函数内的查询中使用 VARIADIC

我想在 postgresql 上创建一个函数,它接收一个 bigint 数组(记录 ID),并使用“in”条件在查询中使用接收到的信息。

我知道我可以自己简单地进行查询,但这里的重点是我将创建该函数来执行一些其他验证和过程。

我试图使用的来源是这样的:

CREATE OR REPLACE FUNCTION func_test(VARIADIC arr bigint[])
RETURNS TABLE(record_id bigint,parent_id bigint)
AS $$ SELECT s.record_id, s.parent_id FROM TABLE s WHERE s.column in ($1);
$$ LANGUAGE SQL;
Run Code Online (Sandbox Code Playgroud)

使用上面的代码我收到以下错误:

ERROR:  operator does not exist: bigint = bigint[]
LINE 3: ...ECT s.record_id, s.parent_id FROM TABLE s WHERE s.column in ($1)
                                                                    ^
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

sql arrays postgresql postgresql-9.3

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

mongoid在一个哈希数组内的数组中搜索

Object embeds_many searched_items

这是文件:

{"_id": { "$oid" : "5320028b6d756e1981460000" },

"searched_items": [
{
  "_id": { "$oid" : "5320028b6d756e1981470000" },
   "hotel_id": 127,
  "room_info": [
    {
       "price": 10,
      "amenity_ids": [
        1,
        2
      ]
    },
    {
      "price": 160,
      "amenity_ids": null
    }
  ]
  },
  {
  "_id": { "$oid" : "5320028b6d756e1981480000" },
  "hotel_id": 161,
  "room_info": [
    {
      "price": 400,
      "amenity_ids": [4,5]
    }
   ]
  }
 ] 
}
Run Code Online (Sandbox Code Playgroud)

我想找到具有room_info.amenity_idsIN [2,3] 的"searching_items" .

我试过了

object.searched_items.where('room_info.amenity_ids' => [2, 3])

object.searched_items.where('room_info.amenity_ids' =>{'$in' => [2,3]}

没有运气

mongodb mongoid

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

用插值选择元素

是否可以选择带插值的元素?我有一个带字符串的var

inputId = "awesomeInput"
Run Code Online (Sandbox Code Playgroud)

我想选择ID为"awesomeInput"的输入.我试着这样做,就像我通常用jquery做的那样

$("#{inputId}")
Run Code Online (Sandbox Code Playgroud)

console.log告诉我已经选择了某些东西,但我试图在这个对象上执行的任何函数都失败了.没有错误,也没有效果.像这样:

$("#{inputId}").show()
Run Code Online (Sandbox Code Playgroud)

如何选择像这样的jquery元素,而不是显示它?

jquery string-interpolation coffeescript

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

在视图中为rails显示的文本添加一个类

很直接..

如何将类添加到这样的类中

<h2><%= guide.title %></h2>
Run Code Online (Sandbox Code Playgroud)

这只是显示文字?

html ruby ruby-on-rails class

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

左外连接表排序

从我所了解的关于LEFT OUTER JOIN的所有内容中,您想要可以为空的表应位于等号的右侧.如果是这种情况,为什么这两个查询都返回相同的结果:

SELECT          *
FROM            employees e
LEFT JOIN       cars c ON c.employeeID=e.id AND c.name='Honda City'
WHERE c.id IS NULL
ORDER BY        e.id ASC;

SELECT          *
FROM            employees e
LEFT JOIN       cars c ON e.id=c.employeeID AND c.name='Honda City'
WHERE c.id IS NULL
ORDER BY        e.id ASC;
Run Code Online (Sandbox Code Playgroud)

演示:http://sqlfiddle.com/#!15/46d00/2

sql postgresql

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

Rspec没有捕捉到有目的的失败

我试图检查我的一个类方法是否响应无效输入有异常,但Rspec没有它.

我的班级文件:

class WhateverClass
  def run(options)
    if options['input'].nil? || options['input'].empty?
      fail ArgumentError, 'No input object provided in configuration.'
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我的Rspec测试:

RSpec.describe WhateverClass do
  it 'should raise an ArgumentError when provided invalid input' do
    invalid_input = { 'nonsense' => 'here' }
    expect(WhateverClass.new.run(invalid_input)).to raise_error(ArgumentError)
  end
end
Run Code Online (Sandbox Code Playgroud)

运行上述测试的结果如下:

1) WhateverClass should raise an ArgumentError when provided invalid input
   Failure/Error: expect(WhateverClass.new.run(invalid_input)).to raise_error(ArgumentError)
   ArgumentError:
     No input object provided in configuration.
   # ./whatever_class.rb:9:in `run'
   # ./spec/whatever_class_spec.rb:14:in `block (2 levels) in <top (required)>'
Finished in …
Run Code Online (Sandbox Code Playgroud)

ruby rspec exception

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