`
文章列表
在做文件上传功能的时候,需要限制文件上传的类型,通常获取MIME的方法就是打开搜索引擎搜一下,复制回来。现在Rails中可以简单的通过构造一个文件名来得知一种文件对应的MIME值。 MIME::Types.type_for("filename.docx").first.content_type 输出 引用application/vnd.openxmlformats-officedocument.wordprocessingml.document 另外,我发现IE6下上传Word文件会发送错误的MIME给服务器,.doc文件为application/octet- ...

Git 命令笔记

    博客分类:
  • Git
设置用户信息 git config --global user.name "名字" git config --global user.email "邮箱地址" 设置终端配色 git config --global color.diff auto git config --global color.status auto git config --global color.branch auto git config --global color.interactive auto git conf ...
1.意外关机后,mongod不能开机自启动 http://cssor.com/ubuntu-mongodb-start-faild.html
使用Paperclip上传文件,如果文件名包含中文,会导致Arel抛出一个异常: 引用Encoding::CompatibilityError (incompatible character encodings: ASCII-8BIT and UTF-8) 这个问题在StackOverflow上也有人在问,不止是中文,其他语言也有。huacnlee在2010年就创建了这个Issue,Paperclip目前(v2.5.2)还没有修复: https://github.com/thoughtbot/paperclip/issues/301 我尝试去搞清楚到底是哪里的问题,可惜功力不够,在Paperc ...
Sublime Text 2是一款收费软件,不过目前它可以无限期试用,除了在偶尔保存文件的时候会提示你购买。由于我还用不好VIM的NERDTree,也还没适应它的多文件切换方式,所以准备使用Sublime Text 2来做源码查看、多文件对比等等工作。 Sublime Text 2是支持UTF-8编码文件的汉字显示的(但目前Ubuntu下还不支持中文输入,Windows和Mac下可以)。如果你和我一样,发现UTF-8文件的汉字也显示为小方块的话,应该就是字体的问题导致的。设置一下就可以了:菜单栏 -> Preferences -> File Settings - User,在配置文 ...
Twitter推出Bootstrap有段时间了,一直关注,还没有机会用一下。刚好看到xdite的这篇《Simple Form - 你的 Form Framework》,我就准备把现在项目的难看后台换成Bootstrap。不过xdite似乎在写完这篇blog之后,把他的bootstrap-rails更新了,blog中 ...

Git备忘

删除远程库origin上的分支foo git push origin :heads/foo
Ruby 1.9的代码文件中,如果包含了utf-8字符,那么需要在文件的第一行加上# encoding: utf-8。我找到这样一个脚本来自动增加。 http://stackoverflow.com/questions/3999415/why-are-all-strings-ascii-8bit-after-i-upgraded-to-rails-3/4158423#4158423 在lib/tasks目录下创建个文件lib/tasks/utf8encode.rake,内容如下: # encoding: utf-8 desc "Manage the encoding header ...
Ubuntu 11.10(DVD)默认就安装了ImageMagick,但是没有安装相应的dev库,所以通过convert -version查看,发现确实已经安装了ImageMagick,但是安装RMagick的时候,依然提示: 引用ubuntu 11.10 Can't install RMagick 2.13.1. Can't find Magick-config in ... 这个时候只要安装一下dev库就好了: sudo apt-get install libmagickwand-dev 这样就可一继续安装RMagick了。
Vim的Command-T这个插件用来查找文件非常好用,不过刚刚发现,当一个项目中文件过多的时候,Command-T这个插件会忽略一些目录下的文件。 我刚重装了Rails开发环境,Command-T变成1.2.1版的,结果死活找不到Rails项目的app目录。原来有CommandTMaxFiles这样一个参数,默认值是10000。可以在.vimrc中设置为一个更大的值: .vimrc 写道let g:CommandTMaxFiles=20000 除了这个设置之外,还可以把一些与代码无关的文件屏蔽掉,查找文件的时候也少写干扰: .vimrc 写道set wildignore+=public/ima ...
        当InfoQ让我简短总结一下当年在NeXT的经历,当作对Steve的追思,我就知道这是一件吃力不讨好的事情。怎么可能几句话就向不曾躬逢其会的人解释清楚那个地方、那个时候的神奇之处?但在这样的时刻面对这样的请求 ...

Vim备忘

#字符串前后增加双引号 ysiw" #字符串前后双引号改为单引号 cs"' #去掉字符串前后单引号 ds' 搜索和替换 /pattern: 从光标开始处向文件尾搜索pattern ?pattern: 从光标开始处向文件首搜索pattern n: 在同一方向重复上一次搜索命令 N: 在反方向上重复上一次搜索命令 :s/p1/p2/g: 将当前行中所有p1均用p2替代 :n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代 :g/p1/s//p2/g: 将文件中所有p1均用p2替换 系统剪切板的编号是"+ 复制到剪切板就是 "+y 从剪切 ...
今天使用Cucumber测试的时候,发现Capybara打开的浏览器中I18n不正常。百思不得其解之后开始折腾。 当配置是这样的时候: config.i18n.default_locale = 'zh-CN' 情况是这样的: tiroc@vm-u10:~/code/demo$ rails c test Loading test environment (Rails 3.0.3) ruby-1.8.7-p334 :001 > I18n.locale => :en ruby-1.8.7-p334 :002 > I18n.default_locale ...
我习惯把网站的一些预设数据放到db/seeds.rb中,比如网站的角色创建。由于Cucumber在每次测试的时候都会重置数据库,所以必须要想办法让数据库重置之后,把这写预设的数据也载入到测试数据库中。如果你也遇到相同问题,可以使用下边这种方法:   # lib/tasks/cucumber.rake #Cucumber::Rake::Task.new({:ok => 'db:test:prepare'}, 'Run features ...') do |t| Cucumber::Rake::Task.new({:ok => ['db:test:prepare', 'db:s ...
在Rails的嵌套表单中, 如果在model的accepts_nested_attributes_for后加入了:allow_destroy => true ,就可一通过在表单中提交一个_destroy,来控制是否删除嵌套属性。(嵌套表单) 问题出现在这样一个场景:1、用户在编辑一个相册,删除了一些照片(并没有真正的删除,只是把_destroy隐藏域设置为true,并且隐藏了这些照片。如果此时提交,那么这些照片将被真正删除),但是,没有保存,而是点击了取消。2、然后他点击浏览器“后退”按钮,又返回到编辑页面,浏览器缓存会让页面看起来和用户取消编辑前一样。有些照片被隐藏了。3、刷 ...
Global site tag (gtag.js) - Google Analytics