我在Rails应用程序中遇到一个非常简单的问题,我找不到一个优雅的解决方案.
我有一个URL:http://www.example.com/some-path/?foo = 123&baz = 456
我想处理其中一个参数并重定向到:http://www.example.com/some-path/? baz = 456
我希望这通常用于任何带有param"foo"的URL,所以我不想在重写代码中指定"baz".
我想要的是:
redirect_to request.path, :params => request.query_parameters.except(:foo)
Run Code Online (Sandbox Code Playgroud)
除此之外不太有用.我知道我可以手动正则表达式或解析查询字符串但我认为有更好的方法.
我想知道Google Maps zoom_changed事件何时通过用户与+/-缩放按钮的交互专门触发.如果我为zoom_changed使用一般事件监听器,我无法判断它是由用户生成的事件还是由fitBounds()之类的东西引起的缩放变化.寻找最好的方法来做到这一点.
我尝试过以下的事情,但似乎都没有效果:
1)查看有关zoom_changed的事件信息.似乎没有.
2)添加mouseover和mouseout的监听器,让我设置一个标志,看看用户是否在地图范围内,并检查zoom_changed上的标志.这不起作用,因为地图不会将缩放按钮视为地图框的一部分(换句话说,将鼠标悬停在缩放按钮上会触发鼠标输出事件).
3)向缩放按钮添加普通(非gMap)侦听器.但是,我找不到一个确定的CSS选择器,只允许我抓住按钮.
4)在gMaps API中寻找一个能让我做类似getZoomElements()的函数,然后我可以使用它来设置监听器.
奇怪的是,如果我向地图添加自定义控件,我可以清楚地做我想要的.看起来很奇怪他们会强迫我这样做,而不是勾选默认的缩放控件.
我有一个主人和"PersonalSite"分支,用于我正在研究的代码库.我一直试图将主人合并到PersonalSite分支无济于事.
这一次,我以为我把所有事情都理顺了,所以我做到了:
git checkout master
git pull
git checkout PersonalSite
git pull
git merge master
Run Code Online (Sandbox Code Playgroud)
看起来一切正常,它列出了我预期的文件集,但是存在冲突.冲突是正确的,并且正如预期的那样,所以我修复了它,做了"git add","git commit",然后是"git push".但现在,当我查看我的git日志时,它只显示一个没有代码更改但只有一个冲突的提交.
现在,当我从"PersonalSite"分支运行"git merge master"时,它说"已经是最新的".但事实并非如此,因为我尝试合并的所有更改都没有实际合并.到目前为止,我到底是做什么来让主人实际合并?
我一直在努力优化我的Page Speed得分,我发现加载Google Map似乎会给你5分左右的惩罚.它抱怨了很多东西,但导致黄点的是大多数加载资源中缺少缓存验证器.
为了排除我可能做过的任何事情,我在最简单的地图上运行Page Speed - 来自Google Maps文档的Hello World.果然,它得到了我在我的网站上的相同警告.对此页面运行Page Speed以查看警告.
https://google-developers.appspot.com/maps/documentation/javascript/examples/map-simple
这些警告可以修复吗?或者,一般情况下,任何有Google地图的网页都可能获得高于95 Page Speed分数的分数吗?
我决定今天尝试搞乱Git,并尝试了解它的分支系统是如何工作的.馊主意.我不知何故已经处于一个我已经在分支上进行更改的状态,当我执行"git push"时,我得到:
To git@github.com:LAW/Repo.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:LAW/Repo.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)
我已经看过几次,我已经做了"git pull"来解决,虽然我不确定为什么或如何解决问题.问题是,它现在不起作用.我做"git pull"并得到:
"Already up-to-date."
Run Code Online (Sandbox Code Playgroud)
问题依然存在.所以我的问题是......现在怎么样?我不能从分支机构推出,所以它基本上已经死了,但互联网没有比"git pull"更好的建议来解决这个问题.不用说这非常令人沮丧!
编辑评论者要求输出"git branch -a".有问题的分支是"PersonalSite"
* PersonalSite
master
remotes/origin/HEAD -> origin/master
remotes/origin/PersonalSite
remotes/origin/master
Run Code Online (Sandbox Code Playgroud)