我打算部署一个包含敏感数据的内部应用程序.我建议我们将它放在一台不暴露于普通互联网的机器上,只是我们的内部网络.IT部门拒绝了这个建议,称为一个应用程序预留一台整机是不值得的.(该应用程序有自己的域,以防相关,但我被告知他们无法阻止基于URL的请求.)
在应用程序内部,我将其编程为仅尊重请求,如果它们来自内部IP地址,否则它只显示一个页面"你不能看这个".我们的内部地址都有一个独特的模式,所以我正在检查请求IP对正则表达式.
但我对这个策略很紧张.对我来说这感觉有点笨拙.这个相当安全吗?
我想删除一个可能包含或不包含文件或其他目录的目录.查看Ruby文档,我找到了Dir.rmdir,但它不会删除非空目录.是否有一种方便的方法让我这样做?或者我是否需要编写递归方法来检查目录下的所有内容?
使用Test :: Unit和Shoulda.试着去测试Users.create.我的理解是Rails表单为这样的对象发送params:
user[email]
Run Code Online (Sandbox Code Playgroud)
在你的行动中变成哈希,对吧?
params[:user][:email]
Run Code Online (Sandbox Code Playgroud)
好的,所以在我的测试中我试过......
setup { post :create, :post => { 'user[email]' => 'invalid@abc' } }
Run Code Online (Sandbox Code Playgroud)
和
setup { post :create, :post => { :user => { :email => 'abc@abcd' } } }
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,在我的行动中,params[:user]都是零.
我有这个JavaScript ......
15 $('.ajax_edit_address').each(function() {
16 $(this).ajaxForm({
17 target: $(this).parents('table.address').find('tr.address_header').children(':first'),
18 success: function(response) {
19 $('input, select, textarea', '.ajax_edit_address').removeClass('updating');
20 }
21 });
22 });
Run Code Online (Sandbox Code Playgroud)
这是按我喜欢的方式格式化的.但是,假设我刚刚输入了一些东西,我想整理一下.所以我在上面运行Vim代码格式化程序......
=7j
Run Code Online (Sandbox Code Playgroud)
结果是......
15 $('.ajax_edit_address').each(function() {
16 $(this).ajaxForm({
17 target: $(this).parents('table.address').find('tr.address_header').children(':first'),
18 success: function(response) {
19 $('input, select, textarea', '.ajax_edit_address').removeClass('updating');
20 }
21 });
22 });
Run Code Online (Sandbox Code Playgroud)
Vim似乎在函数作为方法参数时遇到了麻烦.
以下是我认为的.vimrc的相关部分......
:set cindent shiftwidth=2
" indent depends on filetype
:filetype indent on
:filetype plugin on
Run Code Online (Sandbox Code Playgroud)
是否还需要安装或配置其他格式的JS代码?
当您向用户呈现涉及可能是单数或复数的实体的消息时,Rails有一个快捷方式来处理它.我在谈论这种情况:
"删除委员会?其X会议也将被删除."
Rails有一种方式可以使"会议"呈现为"会议"或"会议",具体取决于X.
我不记得那是什么方式.事实并非如此String#pluralize.
有什么区别......
File.open('abc', 'w') { |f| f.puts 'abcde' }
Run Code Online (Sandbox Code Playgroud)
...和...
File.open('abc', 'w') { |f| f.write 'abcde' }
Run Code Online (Sandbox Code Playgroud)
...?
有几个命令可以执行某些操作然后进入插入模式.还有命令退出插入模式并执行操作吗?
例如,我经常这样做......
control[ : w return
在创建映射之前,是否已经有Vim命令执行此操作?
我的应用程序中的某些功能根据客户端的IP地址而有所不同.有没有办法在Rails功能测试中测试?我正在使用Test :: Unit和Shoulda.
svn co svn+ssh://myhost/path/projectname/trunk projectname
[...]
svn: Failed to add directory 'projectname/test/.svn': an unversioned
directory of the same name already exists
Run Code Online (Sandbox Code Playgroud)
怎么可能?
我正在检查一个空的目录.
检查Windows和OS X的错误相同.
我正在使用RVM和Passenger设置生产RHEL 6服务器.我已经安装了RVM(到我家的目录),安装了Passenger,并将所需的行添加到httpd.conf:
LoadModule passenger_module /home/em/.rvm/gems/ruby-1.9.2-p290@rails_3_production/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /home/em/.rvm/gems/ruby-1.9.2-p290@rails_3_production/gems/passenger-3.0.11
PassengerRuby /home/em/.rvm/wrappers/ruby-1.9.2-p290@rails_3_production/ruby
Run Code Online (Sandbox Code Playgroud)
但是,当我重新启动Apache时,我收到此错误...
$ sudo /sbin/service httpd restart
Stopping httpd: [FAILED]
Starting httpd: httpd: Syntax error on line 218 of /etc/httpd/conf/httpd.conf: Cannot load /home/em/.rvm/gems/ruby-1.9.2-p290@rails_3_production/gems/passenger-3.0.11/ext/apache2/mod_passenger.so into server: /home/em/.rvm/gems/ruby-1.9.2-p290@rails_3_production/gems/passenger-3.0.11/ext/apache2/mod_passenger.so: cannot open shared object file: Permission denied
[FAILED]
Run Code Online (Sandbox Code Playgroud)
在实验上,我将整个路径设置~/.rvm/...为777,但我仍然得到同样的错误.
有什么想法吗?