小编cam*_*son的帖子

如何在RSpec中请求(GET/POST)具有通配符的路由

我在Rails中拥有这条(当然是可怕的)路线:

scope '/software' do
  post '/:software_id/:attachment_id/event/*event' => 'software#post_event', as: 'post_event'
end

(我会更改它,但对于遗留API)

我正在为它编写RSpec测试.

rake routes 给我:

post_event POST   /software/:software_id/:attachment_id/event/*event(.:format)     api/version1301/software#post_event

我的测试看起来像这样:

  describe "post_event" do

    it "should respond with 204" do
      params = {
        attachment_id: @attachment.uid,
        software_id: @license.id
      }

      post :post_event, params

      response.code.should eq "204"
    end
  end

但是我收到以下路由错误:

Failure/Error: post :post_event, params
ActionController::RoutingError:
No route matches {:format=>"json", :name_path=>:api, :attachment=>"7b40ab6a-d522-4a86-b0de-dfb8081e4465", :software_id=>"0000001", :attachment_id=>"7b40ab6a-d522-4a86-b0de-dfb8081e4465", :controller=>"api/version1301/software", :action=>"post_event"}
     # ./spec/controllers/api/version1301/software_controller_spec.rb:62:in `block (4 levels) in '

你如何使用通配符(事件)处理路由?

ruby rspec rspec-rails ruby-on-rails-3

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

如何在bookmarklet中进行身份验证?

我希望我的bookmarklet要求用户登录.这是一个想法......我为用户创建了一个iframe登录,并显示了a/c信息.但我想从服务器获取一些信息,例如,我想知道用户是否已将此页面添加到我的服务器.所以,我想做一个ajax调用,但由于相同的源策略,我不能通过ajax来实现.那么,我如何从iframe获取信息?

故事是这样的:

用户网站 - >用户点击书签 - >如果登录 - >显示'添加到收藏夹'按钮 - >用户点击添加到收藏夹按钮,将网址提交给服务器,重新加载服务器.

用户网站 - >用户点击书签 - >如果没有记录 - >显示登录按钮 - >登录成功 - >按以前的方式执行流程

用户网站 - >用户点击书签 - >如果记录 - >检查网站是否已添加到服务器上 - >没有收藏夹按钮

如您所见,只有iframe存储登录用户的信息.

javascript security authentication bookmarklet

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

如何在不修改 Python 中的原始列表的情况下反转列表

我正在尝试通过以下方式使用 reverse() 方法:

>>> L=[1,2,3]
>>> R=L
>>> L.reverse()
>>> L
[3, 2, 1]
>>> R
[3, 2, 1]
Run Code Online (Sandbox Code Playgroud)

为什么它也会反转 R?如何保留原始列表并创建反向列表?

谢谢!

python python-3.x

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