小编Gag*_*gan的帖子

rspec控制器测试与设计认证

我有rspec测试控制器设计验证的问题.

我有以下设置

我已经包括在内

config.include Devise::TestHelpers, :type => :controller
Run Code Online (Sandbox Code Playgroud)

在我的spec_helper.rb中

在我的merchants_controller_spec.rb中

describe MerchantsController do
  before :each do
    @user = Factory(:user)
    @merchant = Factory(:merchant, :user_id => @user.id,:is_approved => false, :is_blacklisted => false)
    controller.stub!(:current_user).and_return(@user)
  end
  describe "GET index" do
    it "assigns all merchants as @merchants" do
      merchant = Factory(:merchant,:is_approved => true, :is_blacklisted => false)
      get :index
      assigns(:merchants).should eq([merchant])
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我的商人_controller.rb

class MerchantsController < ApplicationController

  before_filter :authenticate_user!
  def index
    @merchants = Merchant.approved
    debugger
    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render …
Run Code Online (Sandbox Code Playgroud)

authentication testing controller rspec

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

Rabbitmq服务器连接突然关闭

我试图使用Rabbitmq服务器由于某种原因连接突然关闭,即使我传递了正确的用户名和密码.

Rabbitmq服务器在端口5672上运行,并通过端口5672 telnet到我的服务器说它运行正常.

我在CentOS安装了rabbitmq服务器,我的rabbitmq服务器日志如下:

=INFO REPORT==== 19-Dec-2012::06:25:44 ===
accepted TCP connection on [::]:5672 from <host>:42048

=INFO REPORT==== 19-Dec-2012::06:25:44 ===
starting TCP connection <0.357.0> from <host>:42048

=WARNING REPORT==== 19-Dec-2012::06:25:44 ===
exception on TCP connection <0.357.0> from <host>:42048
connection_closed_abruptly

=INFO REPORT==== 19-Dec-2012::06:25:44 ===
closing TCP connection <0.357.0> from <host>:42048
Run Code Online (Sandbox Code Playgroud)

可能出现这种情况的原因可能是什么.

谢谢

connection rabbitmq

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

mongoid更新所有条件的文件

我有一个模特

class Employee
  include Mongoid::Document
  field :first_name
  field :last_name
  field :address1
  field :address2
  field :salary
end
Run Code Online (Sandbox Code Playgroud)

现在我需要将所有员工的工资更新为10000,其地址1是"卡尔加里"

现在我尝试了这个查询

Employee.update_all "salary = 10000", "address1 = 'Calgary'"
Run Code Online (Sandbox Code Playgroud)

但是这个查询给了我错误:

NoMethodError: undefined method `update_all' for Employee:Class
Run Code Online (Sandbox Code Playgroud)

谢谢

ruby document mongoid

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

IE8将json响应视为文件并尝试下载它

我正在使用IE8,我正在向url发送ajax请求,该请求以json的形式发回响应.下面给出了ajax设置的jquery代码:

$(document).ready(function(){
  $.ajax({
    url: url_string,
    dataType: "json",
    success: function(response){
      alert('all is well');
    },
    error: function(request, status, error){
      alert(request);
      alert(status);
      alert(error);
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

我确信服务器正在发送JSON响应,但IE8将其视为文件并显示下载弹出框.但同样的过程适用于FF和Chrome.当我更换这仍然发生JSONJSONP的dataType

但它总是进入错误回调方法.

我的json响应主体也包含一个带有html标签的字符串.

知道为什么会这样吗?

谢谢

jquery download internet-explorer-8

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

rails strong参数不接受哈希数组

我有一个组控制器,它接受哈希数组作为创建操作的POST请求的参数

  def create
    response = Group.create(current_user_id, group_params)
    render json: response
  end

  def group_params
    params.require(:group).permit(:group_name, :group_title, group_members: [])
  end
Run Code Online (Sandbox Code Playgroud)

但它不通过强参数接受group_members参数

以下是我的应用程序中带有params的传入请求

Started POST "/groups" for 127.0.0.1 at 2014-08-04 08:25:37 +0545
Processing by GroupsController#create as JSON
  Parameters: {"group"=>{"group_name"=>"Fourth group", "group_title"=>"fourth tester", "group_members"=>[{"id"=>"0833be3c-17db-11e4-904b-3f662703cb5b", "darknet_accountname"=>"@ckgagan", "access_level"=>"Write"}]}}
Unpermitted parameters: group_members
Completed 200 OK in 10ms (Views: 0.2ms)
Run Code Online (Sandbox Code Playgroud)

我看过很多帖子,说在允许内部添加group_members:[]会有效但在我的情况下不起作用.

arrays parameters strong-parameters

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

Ruby包含模块中模块的单一方法

我有一个以下的模块

module SimpleTask
    def task1
    end
    def task2
    end
    def task3
    end
end
Run Code Online (Sandbox Code Playgroud)

我有一个只需要task2模块方法的模型SimpleTask.

我知道包括SimpleTask在我的模型中include SimpleTask可以完成这项工作.

但我想知道我是否只能task2在我的模型中包含特定方法.

ruby methods module include

14
推荐指数
3
解决办法
6405
查看次数

设计config.timeout_in无法正常工作

我无法在initializers/devise.rb中使用设计会话超时来超时会话

我设置

config.timeout_in = 1.minute
Run Code Online (Sandbox Code Playgroud)

在initializers/devise.rb中,我与一个用户签约并保持闲置2分钟.这假设使当前会话无效并再次提示询问用户凭据但会话永远不会死亡.

我做错了什么或遗失了什么?

谢谢

ruby-on-rails settimeout devise

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

使用ajax请求设置referer url

我想在发送ajax请求时设置referer页面.我这样做了但是没用.

我已将此javascript包含在本地html文件中,主网址为跨域.

$.ajax({
  url: "{{main url}}",
  dataType: "json",
  beforeSend: function(xhr){
  xhr.setRequestHeader('X-Alt-Referer', '{{referer url}}');
  },
  success: function(data){
    console.log(data);
  }
});
Run Code Online (Sandbox Code Playgroud)

我从这个网址得到了一些提示

在JavaScript中设置请求标头

我明白了

"NetworkError: 404 Not Found - {{main url}}"
Run Code Online (Sandbox Code Playgroud)

我从firefox控制台尝试它时出错

这个脚本有什么问题,还是有另一种方法可以做到这一点?

ajax jquery set referer

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

rails 4使用dalli将memcached用作会话存储

我无法使用dalli gem将memcached用作使用rails 4的会话存储.

这就是我所做的.

我将dalli gem添加到Gemfile中

gem 'dalli'
Run Code Online (Sandbox Code Playgroud)

我在config/initializers/session_store.rb中添加了以下行

Rails.application.config.session_store ActionDispatch::Session::CacheStore, :expire_after => 20.minutes
Run Code Online (Sandbox Code Playgroud)

我在development.rb中添加了以下行

config.cache_store = :dalli_store
Run Code Online (Sandbox Code Playgroud)

现在当我使用瘦服务器启动我的开发服务器而不启动memcached服务器时,我仍然可以照常登录.我应该得到一些错误,如没有运行memcached服务器或类似的东西.

我不确定rails是否使用memcached作为会话存储.

有人能告诉我在开发环境中使用memcached作为会话存储时我错过了什么?

为了您的信息,我一直在使用devise作为身份验证gem.

谢谢

session memcached dalli ruby-on-rails-4

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

两个phash之间的mysql汉明距离

我有一个表A,其中有一个列'template_phash'.我存储了400K图像生成的phash.

现在我拍摄一张随机图像并从该图像生成一个镜头.

现在我如何查询,以便我可以从表A获得汉明距离差小于阈值的记录,比如说20.

在SQL中看到了二进制字符串的汉明距离,但无法弄明白.

我想我发现我需要制作一个功能来实现这个但是怎么做?

我的两个phash都在BigInt中,例如:7641692061273169067

请帮我制作这个功能,以便我可以查询

SELECT product_id, HAMMING_DISTANCE(phash1,  phash2) as hd 
FROM A 
WHERE hd < 20 ORDER BY hd ASC;
Run Code Online (Sandbox Code Playgroud)

mysql hamming-distance

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