小编Nic*_*ick的帖子

是否有"CONTAINS"的MySQL聚合函数?

说我有这个数据集

  user  | group
--------+-------
a@a.com |   A
a@a.com |   B
b@b.com |   A
c@c.com |   B
d@d.com |   A
d@d.com |   B
d@d.com |   C

我想将其转换为这样的表:

  user  | IN_A  | IN_B  | IN_C
--------+-------+-------+-------
a@a.com | TRUE  | TRUE  | FALSE
b@b.com | TRUE  | FALSE | FALSE
c@c.com | FALSE | TRUE  | FALSE
d@d.com | TRUE  | TRUE  | TRUE

我有:

SELECT
  user,
  IF(LOCATE('A', GROUP_CONCAT(group)) > 0, TRUE, FALSE) AS IN_A,
  IF(LOCATE('B', GROUP_CONCAT(group)) > 0, TRUE, FALSE) AS IN_B, …

mysql sql group-by aggregate-functions

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

Rails 4 参数;如何将参数列入一组值的白名单

我已经阅读了一些帖子,例如在 Rails 4 中使用强参数的值白名单,但这并不是我所需要的。

我有一个控制器,它需要一个 ID 并加载一个模型。它还可选地采用查询字符串 param ( style) ,它可以是 3 个值之一,smallmediumlarge。这被传递给模型上的一个方法,该方法使用它来获取附加的图像(使用回形针)。我注意到如果我传递了一个无效的参数(例如style=wibble),那么我会收到一个 400 错误并通知内部文件路径不存在。Brakeman 还指出这是一个安全问题......

def show
  style = params[:style] || :medium

  thing = Model.find(params[:id])

  path = "#{Rails.root}/public#{thing.image_url(style)}"
  content_type = thing.image.content_type || 'image/png'
  send_file path, type: content_type, disposition: 'inline'
end
Run Code Online (Sandbox Code Playgroud)

我们在其他地方使用ActionController 参数效果很好;但我看不到如何将参数选项“列入白名单”?我所看到的任何地方都说要使用模型验证器,但这是假设我正在提交一个参数来更新模型,而我不是。

我知道我可以这样做:

return head :not_found unless %w(small medium large).include? style
Run Code Online (Sandbox Code Playgroud)

这是最好的方法吗?

ruby security validation ruby-on-rails controllers

5
推荐指数
2
解决办法
2815
查看次数

反应原生密码autofill ios 11

我做了一些研究,但在撰写本文时,我找不到任何与新的iOS 11密码自动填充系统集成的React Native应用程序.

我们是否需要使用授权证书(如此处所述:iOS App的密码自动填充https://willowtreeapps.com/ideas/password-autofill-in-ios-11)

我不确定的部分是如何与React Native集成的?!

passwords autofill ios react-native

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

XCode:如何从Search Navigator中排除路径

在XCode中,在本例中为4.x,您将如何从搜索结果中排除路径(或包含模式的路径)?

我的用例:我的项目是SVN控制的.每当我搜索文本(例如函数名称)时,我经常会从".svn-base"文件(用于在工作副本和最后签出的修订版本之间进行局部差异)返回不相关的结果.

我已经设置了一个自定义范围,其中"位置"位于文件或文件夹"Classes"(我要搜索的子文件夹)中.似乎没有办法说"而不是......"或"和路径不匹配".有一个"匹配正则表达式",我觉得答案可能在于环顾四周...也许是这样的(?!\.svn)

regex svn configuration xcode

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

带有可变参数的方法,后跟非变量

我知道你可以这样做:

 +(id) objectWithItems: (NSObject *) item, ...;
Run Code Online (Sandbox Code Playgroud)

但是我想知道是否有可能做这样的事情(我无法编译):

 +(id) objectWithItems: (NSObject *) item, ... withValue:(int)val;
Run Code Online (Sandbox Code Playgroud)

所以我可以这样做:

 MyClass *c = [c objectWithItems:a,b,c,nil withValue:5];
Run Code Online (Sandbox Code Playgroud)

这可能吗?

我想我可以反转参数......

 +(id) objectWithValue:(int) val withItems: (NSObject *) item, ...;
 MyClass *c = [c objectWithValue:5 withItems:a,b,c,nil];
Run Code Online (Sandbox Code Playgroud)

parameters methods syntax objective-c variadic-functions

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

Twig:附加到数组/对象内的数组

我有一个 JSON 格式的对象,如下所示:

{
  'class': ['nav-link', 'dropdown-toggle'],
  'data-toggle': ['dropdown']
}
Run Code Online (Sandbox Code Playgroud)

然后我需要能够将另一个类附加到对象内的类数组中。

这段代码似乎不起作用;它只是覆盖类数组。

{% set link_attribs = { 'class' : ['nav-link', 'dropdown-toggle'], 'data-toggle':'dropdown'} %}
{% set link_attribs = link_attribs|merge({'class': ['highlighted']}) %}
Run Code Online (Sandbox Code Playgroud)

我真的想做这样的事情,但它只会引发标点符号错误。

{% set link_attribs.class = link_attribs.class|merge(['highlighted']) %}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

arrays drupal symfony twig drupal-8

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

Rails Rspec整数等于字符串("1"== 1)

在rspec中,你如何在忽略类型的同时比较某些东西的价值?

Failure/Error: expect(variable).to eql model.id

  expected: 1234
       got: "1234"

  (compared using eql?)
Run Code Online (Sandbox Code Playgroud)

我试过eq(比较使用==)和eql(比较使用eql?)...我也读过/sf/answers/2304888631/.

如何让rspec认为这两个值相等?

ruby integer rspec ruby-on-rails comparator

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

RSpec之前在助手中

有可能做这样的事情吗?

module MyHelper
  before (:each) do
    allow(Class).to receive(:method).and_return(true)
  end
end
Run Code Online (Sandbox Code Playgroud)

然后在测试中,我可以执行以下操作:

RSpec.describe 'My cool test' do
  include MyHelper
  it 'Tests a Class Method' do
    expect { Class.method }.to eq true
  end
end
Run Code Online (Sandbox Code Playgroud)

编辑:这将产生以下错误:

undefined method `before' for MyHelper:Module (NoMethodError)
Run Code Online (Sandbox Code Playgroud)

本质上,我有一个案例,其中许多测试执行不同的操作,但是跨它们的通用模型对after_commit做出反应,最终会始终调用与API通讯的方法。我不想在全球范围内允许Class接收,:method因为有时我需要为特殊情况自己定义它...但是我不想不必重复我的allow / receive / and_return而是将其包装在一个通用帮助器中。 。

ruby rspec ruby-on-rails helper

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