我试图测试一个简单的索引视图,其中包含以下代码:
- if can? :destroy, MyModel
%th Options
Run Code Online (Sandbox Code Playgroud)
MyModelsController 有以下选项(继承资源+ CanCan + Devise):
class MyModelsController < ApplicationController
inherit_resources
nested_belongs_to :mymodel
before_filter :authenticate_user!
load_and_authorize_resource :project
load_and_authorize_resource :mymodel, :through => :project
Run Code Online (Sandbox Code Playgroud)
运行规格时,它会在该行崩溃 - if can? :destroy, MyModel
Failure/Error: render
ActionView::Template::Error:
undefined method `authenticate' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
没有追溯,没有任何依据......
我想也许在测试视图时我没有被授权和签名,但是Devise::TestHelpers应该只包含在控制器测试中(这就是我的方法).
我试图覆盖方法可以吗?在两者Ability和控制器中,但没有产生任何影响.
我正在尝试创建一个简单的命令转发器来将我的家用计算机连接到我拥有的服务器,以便我可以将命令推送到我的服务器而我的家用电脑可以获得它.这些命令是我的下载器的简单暂停/恢复.我的设计是,在服务器上,我运行一个集线器实例,它创建一个传递命令的窗口和一个后端窗口,将这些命令传递给我的电脑.我将这两个"窗口"与一个频道绑定,他们运行服务器.当客户端连接并向集线器发送消息时,它会通过通道流到后端窗口,然后流到真正的后端(在我的家用电脑上).当后端响应集线器上的后端窗口时,集线器会将结果打印回客户端.
使用此方法,只有第一条消息通过并与我的下载程序一起使用.每次收到消息以使其正常工作时,我必须从家用电脑的后端重新连接集线器.我不认为这是websockets的正确方法,所以我在这里.在一次成功的请求之后(当后端完成它的工作并回复结果时),它会在EOF错误的情况下永远循环.
代码的重要部分是:
如果你把源代码放在你的GOPATH中(我正在为支持现代websockets的tip版本开发它),要编译它:
go build gosab/cmd运行它:
./cmd -mode="hub" 毂./cmd -mode="backend" --address="localhost:8082" 后端要将消息传递到集线器,请使用以下javascript:
var s = new WebSocket("ws://localhost:8082")
s.send("1 5")
Run Code Online (Sandbox Code Playgroud)
那我该怎么处理呢?渠道是两种不同请求之间沟通的好方法吗?
我正在尝试获取表中最近的行.我有一个简单的时间戳created_at索引.当我查询时ORDER BY created_at DESC LIMIT 1,它需要的远远超过我的想象(我的机器上36k行约50ms).
EXPLAIN -ing声称它使用向后索引扫描,但我确认更改索引(created_at DESC)不会改变查询规划器中的简单索引扫描的成本.
如何优化此用例?
运行postgresql 9.2.4.
# EXPLAIN SELECT * FROM articles ORDER BY created_at DESC LIMIT 1;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------
Limit (cost=0.00..0.58 rows=1 width=1752)
-> Index Scan Backward using index_articles_on_created_at on articles (cost=0.00..20667.37 rows=35696 width=1752)
(2 rows)
Run Code Online (Sandbox Code Playgroud) 我正在使用Ghostscript为PDF文件中的每个Process和Spot颜色生成灰度tif分色.过程如下:
tiffsep作为设备运行但彩色分色与Adobe的打印预览不同.
我尝试在ImageMagick和Ghostscript中使用Adobe的ICC颜色配置文件(即AdobeRGB1998和USWebCoatedSWOP for CMYK),但结果仍然没有.
Ghostscript版本:9.14,IM:6.8.9-5
我一直在网上寻找答案,但我没有想法.我正在使用Devise with Rails 3来验证LDAP.我在Ruby 1.9.2中使用Rails 3.我使用mysql2作为数据库连接器.
我可以使用rails控制台,所以我知道我的地址,一切都是正确的.
我们有一个活动目录,为了进行身份验证,我们必须在登录名前加上系统.所以我的登录将是systems\crudbasher.
这在控制台中有效,但是当我有一个带有登录名和密码的表单时,我收到此错误.
Devise中的Encoding :: CompatibilityError :: SessionsController #create不兼容的字符编码:ASCII-8BIT和UTF-8
好吧,我知道反斜杠有问题.我不明白的是如何解决它.
完整的堆栈跟踪,如果它有帮助是这样的:
net-ldap (0.2.2) lib/net/ber/core_ext/array.rb:62:in `to_ber_seq_internal'
net-ldap (0.2.2) lib/net/ber/core_ext/array.rb:54:in `to_ber_contextspecific'
net-ldap (0.2.2) lib/net/ldap/filter.rb:509:in `to_ber'
net-ldap (0.2.2) lib/net/ldap.rb:1380:in `block in search'
net-ldap (0.2.2) lib/net/ldap.rb:1361:in `loop'
net-ldap (0.2.2) lib/net/ldap.rb:1361:in `search'
net-ldap (0.2.2) lib/net/ldap.rb:635:in `search'
devise_ldap_authenticatable (0.6.0) lib/devise_ldap_authenticatable/ldap_adapter.rb:208:in `search_for_login'
devise_ldap_authenticatable (0.6.0) lib/devise_ldap_authenticatable/ldap_adapter.rb:86:in `dn'
devise_ldap_authenticatable (0.6.0) lib/devise_ldap_authenticatable/ldap_adapter.rb:124:in `authorized?'
devise_ldap_authenticatable (0.6.0) lib/devise_ldap_authenticatable/ldap_adapter.rb:14:in `valid_credentials?'
devise_ldap_authenticatable (0.6.0) lib/devise_ldap_authenticatable/model.rb:39:in `valid_ldap_authentication?'
activesupport (3.1.1) lib/active_support/core_ext/object/try.rb:32:in `try'
devise_ldap_authenticatable (0.6.0) lib/devise_ldap_authenticatable/model.rb:85:in `authenticate_with_ldap'
devise_ldap_authenticatable (0.6.0) lib/devise_ldap_authenticatable/strategy.rb:12:in `authenticate!'
Run Code Online (Sandbox Code Playgroud)
我真的很难过.谢谢任何可以提供帮助的人!
我一直在尝试设计我的只读数组数据结构,我真的很喜欢用Enumerable类提供遍历选项,但我找不到它的要求.在我看过的一些例子中,C实现寻找#each方法,但在我看来它还不够.
我有一个table固定的表格布局.表中有2列.
如果我colspan=2为第一行设置,那么对于剩余的行,它显示相等的宽度.(它没有采用我指定的宽度.)
小提琴附在这里
<table style='table-layout:fixed' border="1" width="100%">
<thead>
<tr>
<th colspan='2'>10000</th>
</tr>
<tr>
<th width="5%">1066fdg</th>
<th width="95%">10</th>
</tr>
</thead>
</table>
Run Code Online (Sandbox Code Playgroud)
无论如何为剩余的行设置指定的列宽?
我想String用11ID 生成带有数字的数字.
例如:有一个帐户ID=12会给00000000012
之后我需要从字符串中检索此id.
例如:用绳子00000000022给出ID=22
ruby ×3
devise ×2
cancan ×1
css ×1
enumerable ×1
eof ×1
ghostscript ×1
go ×1
imagemagick ×1
indexing ×1
io ×1
java ×1
ldap ×1
postgresql ×1
printing ×1
rspec ×1
sql ×1
sql-order-by ×1
tablelayout ×1
websocket ×1