我正在学习Ruby on Rails,我想知道何时创建一个控制器类的实例.每个操作请求的实例?或者一个客户端的请求之间共享一个实例?
我可以看到控制器类中有实例变量,它们与视图共享,所以我认为在每个动作请求上都创建了一个控制器实例.我对吗?
我是backbone.js的新手.我在Backbone.js中看到,事件绑定:
var PersonView = Backbone.View.extend({
....
events : {
"click button.btnSay" : "saySomething"
},
saySomething : function(){
....
}
...
});
Run Code Online (Sandbox Code Playgroud)
...不需要button.btnSay在调用时存在,这与Jquery中的"委托"非常相似.
现在,问题是,我们可以将html页面中的任何按钮更改为.btnSay(由Firebug等).他们最终会得到听众.我们怎么能阻止这个?
问题是当我为我的项目编写Makefile时,当我需要检测当前分支名称时,在make规则中我这样做了:
check_branch:
if [ "$(git rev-parse --abbrev-ref HEAD)" == "master" ]; then \
echo "In master"
else \
echo "Not in master"; \
fi
Run Code Online (Sandbox Code Playgroud)
当我调用make check_branch时,"$(git rev-parse --abbrev-ref HEAD)"不起作用,它返回""空字符串.而是当我改变$()来`` ,它的工作完美.
check_branch:
if [ "`git rev-parse --abbrev-ref HEAD`" == "master" ]; then \
echo "In master"
else \
echo "Not in master"; \
fi
Run Code Online (Sandbox Code Playgroud)
为什么$()没有工作但是``呢?仅适用于"git"命令.
请注意,在我的Makefile中,我通常在许多规则中使用$().
谢谢 :)
在开发中,当我更改视图,控制器,路径等时,不需要重新启动rails服务器,但我们在生产环境中是否需要?它是否在内存中保存了一些东西,以便我们需要重启?
关于我们在Gemfile(Gemfile.lock)中需要的所有Gem文件,当我们运行rails应用程序时加载(或保存到某个地方)的Gems,还是按需加载?
我是python中的新手,刚刚遇到了这个声明
data = dict( (k, v) for k, v in data.items() if v != 'null')
Run Code Online (Sandbox Code Playgroud)
我不是他们在这里做什么来构建一个字典.你能解释一下吗?为什么在dict()中使用for循环以及为什么if之后呢?我没有在python文档中看到任何这样的东西.
多谢你们