小编Chr*_*Foy的帖子

使用Nokogiri查找包含[]的标记

我有一个像html元素:

<div id="spam[500]">
Run Code Online (Sandbox Code Playgroud)

我想通过id搜索这个元素,但似乎nokogiri被[]搞糊涂了.我尝试着:

doc.css("#spam[#{eggs.id}]")
Run Code Online (Sandbox Code Playgroud)

但无济于事.

ruby-on-rails nokogiri

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

Rack :: Session:使用Sinatra,Thin,Rails和Rack :: Cascade的Cookie错误

我有一个组合的Sinatra/Rails应用程序,它使用Rack :: Session :: Cookie共享会话.这个应用程序在使用Rack :: Handler :: Thin.run应用程序启动时工作正常,但是如果rackup文件以瘦启动开始,我在Rack :: Session :: Cookie中出错:


!! Unexpected error while processing request: no marshal_dump is defined for class Proc
no marshal_dump is defined for class Proc
 /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.0.1/lib/rack/session/cookie.rb:64:in `dump'
 /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.0.1/lib/rack/session/cookie.rb:64:in `commit_session'
 /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.0.1/lib/rack/session/cookie.rb:38:in `call'
 /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.5/lib/thin/connection.rb:76:in `block in pre_process'
 /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.5/lib/thin/connection.rb:74:in `catch'
 /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.5/lib/thin/connection.rb:74:in `pre_process'
 /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.5/lib/thin/connection.rb:57:in `process'
 /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.5/lib/thin/connection.rb:42:in `receive_data'
 /usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
 /usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
 /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.5/lib/thin/backends/base.rb:57:in `start'
 /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.5/lib/thin/server.rb:156:in `start'
 /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.5/lib/thin/controllers/controller.rb:80:in `start'
 /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.5/lib/thin/runner.rb:177:in `run_command'
 /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.5/lib/thin/runner.rb:143:in `run!'
 /usr/local/lib/ruby/gems/1.9.1/gems/thin-1.2.5/bin/thin:6:in `'
Run Code Online (Sandbox Code Playgroud)

rackup文件如下所示:


require ::File::dirname(__FILE__) + '/config/environment'
require 'thin'

app = …
Run Code Online (Sandbox Code Playgroud)

rack ruby-on-rails thin sinatra

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

如何在RSpec Rails Controller测试中指定Content-Type(和其他标题)和请求正文?

我正在尝试测试在POST正文中使用原始json的rails操作.如果我使用Content-Type:application/json标头集卷曲,rails会正确解析params.

如何在rspec控制器测试中直接设置请求主体和头文件?

json rspec ruby-on-rails

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

Rspec2和Rails 3 - 查看嵌套资源的规范路由

我有一个嵌套资源,设置如下:

 resources :chickens do
      resources :eggs
 end
Run Code Online (Sandbox Code Playgroud)

EggsController的视图是在视图/鸡蛋下,但是:

describe "eggs/index.html.erb" do
Run Code Online (Sandbox Code Playgroud)

在调用渲染时给出"无路由匹配{:action =>"create",:controller =>"eggs"}错误.如何让RSpec找到视图规范的正确(嵌套)路径?

作为旁注,有没有办法为Rails 3控制器脚手架生成器指定嵌套资源?

rspec2 ruby-on-rails-3

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

如何在自定义SQL中使用ActiveRecord查询缓存

在Rails应用程序的统计信息部分,我有一些自定义SQL调用,使用模型代码中的ActiveRecord :: Base.execute()调用.他们返回各种聚合.

其中一些(相同的)查询在控制器的循环中运行,似乎它们不会被ActiveRecord查询缓存缓存.

有没有办法在单个请求中缓存自定义SQL查询?

activerecord ruby-on-rails query-cache

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

在多台计算机上使用delayed_job,其中一些任务需要在本地运行

我正在尝试将delayed_job用于rails应用程序的各个部分.问题是,如果我们有多个应用程序实例正在运行,但某些工作(例如处理上传)需要由本地工作人员运行,而其他人可以通过任何工作人员运行来获益.

有没有人对有本地/非本地工作类型的好方法有任何建议?

ruby-on-rails delayed-job

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