我在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 '
你如何使用通配符(事件)处理路由?
我希望我的bookmarklet要求用户登录.这是一个想法......我为用户创建了一个iframe登录,并显示了a/c信息.但我想从服务器获取一些信息,例如,我想知道用户是否已将此页面添加到我的服务器.所以,我想做一个ajax调用,但由于相同的源策略,我不能通过ajax来实现.那么,我如何从iframe获取信息?
故事是这样的:
用户网站 - >用户点击书签 - >如果登录 - >显示'添加到收藏夹'按钮 - >用户点击添加到收藏夹按钮,将网址提交给服务器,重新加载服务器.
用户网站 - >用户点击书签 - >如果没有记录 - >显示登录按钮 - >登录成功 - >按以前的方式执行流程
用户网站 - >用户点击书签 - >如果记录 - >检查网站是否已添加到服务器上 - >没有收藏夹按钮
如您所见,只有iframe存储登录用户的信息.
我正在尝试通过以下方式使用 reverse() 方法:
>>> L=[1,2,3]
>>> R=L
>>> L.reverse()
>>> L
[3, 2, 1]
>>> R
[3, 2, 1]
Run Code Online (Sandbox Code Playgroud)
为什么它也会反转 R?如何保留原始列表并创建反向列表?
谢谢!
bookmarklet ×1
javascript ×1
python ×1
python-3.x ×1
rspec ×1
rspec-rails ×1
ruby ×1
security ×1