小编Ree*_*Law的帖子

黄瓜背景和持久场景(或先决条件)

我有这个问题Cucumber场景非常长的工作流程

现在,我一直在为一系列多部分表单步骤中的每一步编写孤立的场景.我有一个Background部分设置每个Scenario.但是现在当我运行整个功能时,黄瓜想要重复Background每个功能Scenario.我想测试一个Scenario以前所有的构建.

以下是我的功能的简要概述:

Feature: Submit a manuscript
  In order to complete a manuscript submission
  As a corresponding author
  I want to complete the to-do list

  Background:
    Given I am logged in as "Steve"
    And an article_submission "Testing Web Apps" exists
    And "Steve" is a "Corresponding Author" for "Testing Web Apps"
    And I am on the manuscript to-do list page for "Testing Web Apps"

  Scenario: Steve suggests reviewers for his …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails cucumber ruby-on-rails-3

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

在Heroku上运行ruby-debug

有什么办法吗?我经常遇到本地工作的问题,但由于某些与环境有关的原因而无法在Heroku上运行.能够在那里运行调试器会很高兴.

debugging ruby-on-rails heroku ruby-debug

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

OAuth2 和基于角色的访问控制

我有一个作为 OAuth 2.0 提供者的 Rails 应用程序(使用oauth2-provider gem)。它存储与用户相关的所有信息(帐户、个人信息和角色)。有 2 个客户端应用程序都通过此应用程序进行身份验证。客户端应用程序可以使用client_credentials授权类型通过电子邮件查找用户并执行其他不需要授权代码的操作。用户还可以使用密码授权类型登录客户端应用程序。

现在我们面临的问题是用户的角色是在资源主机上全局定义的。因此,如果admin在资源主机上为用户分配了角色,则该用户admin在两个客户端上。我的问题是:我们应该怎么做才能拥有更细粒度的访问控制?即用户可以是editorforapp1但不是 for app2

我想最简单的方式来做到这一点是改变像这样的角色名:app1-adminapp2-adminapp1-editorapp2-editor,等更大的问题是:我们是否正确执行这一整个系统; 也就是说,我们应该在资源主机上存储这么多信息,还是应该将数据非规范化到客户端应用程序上?

非规范化架构看起来像这样:资源主机上的所有用户数据,每个客户端主机上的本地化用户数据。因此user@example.com,他将在资源主机上拥有他的个人信息,并将他的editor角色存储在 client 上app1。如果他从不使用它,app2可能会完全忘记他的存在。

非规范化模型的缺点是数据(帐户 ID、角色)和代码(User以及Role每个客户端上的模型、单独的管理接口等)会有大量重复。

将数据分开有什么缺点吗?客户端应用程序都受到高度信任——我们同时制作了它们——但我们可能会在未来添加其他客户端应用程序,这些客户端应用程序不受我们的控制。

acl ruby-on-rails oauth-2.0

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

OpenGL闪烁像素神器

我正在尝试在基于体素的网格上实现环境遮挡,并在面的边缘处获得这些闪烁的白色像素:

闪烁的像素

这是我的片段着色器:

#version 120

varying vec4 color;
varying vec4 normal;

void main(void)
{
  float light = normal.w + max(0.15*dot(normal.xyz, vec3(1,1,1)), 0.0);
  gl_FragColor = vec4(color.xyz * light, 1.0);
}
Run Code Online (Sandbox Code Playgroud)

如果我light从中删除了gl_FragColor vec4那么神器就会消失.该light值根据环境遮挡值(normal.w)和镜面反射分量计算得出.似乎这是导致问题的镜面反射.为什么角落和边缘会突然闪现?当网格旋转时,白色像素看起来会闪烁.但是在较大的表面上,镜面高光看起来是正常的并且跟随光源而不是闪烁.

opengl glsl specular ambient

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

mutt 线程--在收件箱中显示回复

虽然 mutt 必须set sort = threads显示线程“对话”风格的消息,但它不会在线程中显示自己的回复。相反,您必须切换到“已发送”文件夹才能查看您自己的邮件。有什么方法可以在线程内显示自己的回复吗?

email gmail mutt

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

Chrome与Firefox中的Strage DNS行为

当我尝试访问Chrome中的http://www.taobao.com/时,我会被带到ISP错误页面(http://hndnserror4.wo.com.cn:8080/issueunziped/hn20150626/index.htm?sf= &UserUrl = www.taobao.com).这在Firefox中不会发生.我正在尝试在系统范围内和Chrome中清除DNS缓存.

我如何诊断问题?

编辑:我简化了赏金的问题.Arch Linux上会出现此问题.我尝试过使用DNSCrypt.我已经改为/etc/resolv.conf使用谷歌等各种DNS服务器.我试过从chrome:// net-internals/#dns清除主机缓存.我已禁用使用网络服务来帮助解决Chrome设置中的导航错误.什么都行不通,每当我尝试在Chrome中打开taobao.com时,我都会收到ISP错误页面.它会立即打开错误页面而无需重定向或等待主机名解析.当我在地址栏中输入"taobao.com"并点击Enter打开网络选项卡时,我看到第一个请求被记录为请求URL为http://hndnserror4.wo.com.cn:8080/issueunziped/hn20150626 /index.htm?sf=&UserUrl=www.taobao.com."taobao.com"如何在点击输入和页面加载之间转换为?

我提交了一个错误:https://code.google.com/p/chromium/issues/detail?id = 510680&thanks = 510680&ts = 1437020912

linux dns google-chrome chromium archlinux

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

CSV.parse错误未定义方法`pos'for#<ActionDispatch :: Http :: UploadedFile:0x000001036cb6b0>

也许它与这个问题有关:https://github.com/thoughtbot/paperclip/issues/issue/346

但是在Rails 3.0.3(ruby 1.9.2)中我似乎无法使CSV.parse工作.

这是示例代码:

row_index = 0
CSV.parse(params[:dump][:file]) do |cells|
  column_index = 0
  cells.each do |cell|
    column_index += 1
  end
  row_index += 1
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

符号名称开头的问号在 Clojure 中有什么特殊含义吗?

在这个例子中(从这里):

(defmethod event-msg-handler :chsk/recv
  [{:as ev-msg :keys [?data]}]
  (logf "Push event from server: %s" ?data)))
Run Code Online (Sandbox Code Playgroud)

这里?datavector,请问?有什么目的或则意味着什么?

clojure clojurescript

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

理解Clojurescript和Google Closure编译器之间的关系

许多教程都将该goog/base.js文件包含在脚本标记中,然后用于goog.require('your_script')启动运行的应用程序.例如,以下是链接教程中HTML文件的标题:

<script type="text/javascript" src="out/goog/base.js"></script>
<script type="text/javascript" src="hello.js"></script>
<script type="text/javascript">goog.require('hello');</script>
Run Code Online (Sandbox Code Playgroud)

我知道Google Closure Library用于将Clojurescript编译成Javascript.为什么HTML页面也需要它?它不能hello.js在上面的例子中编译自己(或使用高级编译的必要组件)吗?

我真正想要的只是需要一个javascript文件而不是几十个文件/goog/.这不是编译器的用途吗?我只是不明白为什么它需要包含在页面中.

javascript google-closure-compiler clojurescript

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

Ruby PG gem使用数组作为exec_params的参数

我想传递一个像这样的ruby数组值:

sql = "SELECT $1"
User.connection.raw_connection.exec_params(sql, [[1,2]])
Run Code Online (Sandbox Code Playgroud)

这回来了

PG::IndeterminateDatatype: ERROR:  could not determine data type of parameter $1
Run Code Online (Sandbox Code Playgroud)

如果我改变sql"SELECT $1::int[]"我得到PG::InvalidTextRepresentation: ERROR: invalid input syntax for integer: "[1, 2]".

有没有办法将ruby数组传入exec_params并将其转换为PostgreSQL数组?

ruby arrays postgresql ruby-on-rails pg

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