通过符号的Ruby散列访问不起作用

时间:2013-07-09 06:51:27

标签: ruby-on-rails rspec

创建了一个看起来像这样的控制器规范 需要'spec_helper'

describe UsersController do
  it "redirects to user and creates cookie" do
    post :create, user: FactoryGirl.attributes_for(:user)
    expect(response.cookies[:remember_token]).to eq(User.last.remember_token)
    response.should redirect_to User.last
  end
end

这不起作用。饼干是零。

然而response.cookies ['remember_token']) 工作得很好,即找到了cookie。

我的印象是符号会“转换”为字符串表示。

2 个答案:

答案 0 :(得分:0)

仅适用于HashWithIndifferentAccess,它是一个Rails构造。

http://api.rubyonrails.org/classes/ActiveSupport/HashWithIndifferentAccess.html

普通Ruby哈希不会将字符串键和符号键彼此等同。

答案 1 :(得分:0)

好像你已经像这样cookies['remember_token'] = 'some value'分配,但它应该为每个案例返回'某些价值'