rails new 特定版本
rails _3.0.7_ new railstest 说明:安装多个版本,尤其安装了3.1.0 pre 后,使用Rails 3.0.7这个最新稳定版开发项目。
(阅读更多精彩内容...)rails _3.0.7_ new railstest 说明:安装多个版本,尤其安装了3.1.0 pre 后,使用Rails 3.0.7这个最新稳定版开发项目。
(阅读更多精彩内容...)crontab的标准写法参照这里,http://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-autotasks.html 那么,每阁特定小时运行命令如何写呢? 每隔30分钟,运行一次命令,可以写 */30 * * * * /sbin/do_something 每隔4小时,可以写成 * */4 * * * /sbin/do 吗?不可以,这样会产生很严重的错误,导致我每分钟运行一次命令,直到某种情况下被中止。想到这我真心疼我的mysql和cpu。 这里正确的写法应该是 0 0,4,8,12,16,20 * * * /sbin/do (whenever 给出的写法) 或者 0 */4 * * * /sbin/do (我认为可行的写法,不过至今未确认,这个写法可以从保存时开始,每隔4小时执行一次) 两个写法,都要在第一个位置,指定执行开始的分钟数。 请各位指正,我也继续验证一下我的写法。
(阅读更多精彩内容...)服务器总算都调试完了,今天打算看一下一个app的具体信息,发现 rails c提示错误。 这是个常见的错误:`require’: no such file to load — readline (LoadError) 原因:缺少readline 解决办法:进入rvm ruby1.9.7的src,安装readline 具体: >> which ruby /usr/local/rvm/rubies/ruby-1.9.2-p180/bin/ruby >> cd /usr/local/rvm/src/ruby-1.9.2-p180/ext/readline >> ruby extconf.rb >> make >> make install 再次rails c,解决问题了。 笔记太有用了,都省去了回忆的时间。
(阅读更多精彩内容...)1、安装rvm 安装rvm前,要先安装git。因为rvm的安装教程就是一个git的小脚本。 >>wget http://kernel.org/pub/software/scm/git/git-1.7.5.3.tar.bz2 Oop!这里有个问题,我tar不常用,这里tar xvfz git-… 是会提出格式错误的,查了一下需要换一个命令:tar -xvjpf git-… 之后, make prefix=/usr/local all make prefix=/usr/local install 看到git 版本后,安装rvm git –version 剩下的,就是按照 https://rvm.beginrescueend.com/rvm/install/ 的讲解一步步安装吧,最后,阿?为什么 type rvm | head -1 会提示错误呢?我也被搞糊涂了,按照提示,我重新打开一个终端窗口,这下正常了。所以再看看文档吧。 接着,安装1.8.7 2、安装ruby 1.8.7和gem rvm install 1.8.7 注:我又将用户切换回了root,而在进行到Load RVM into your shell sessions as a function的时候,我不得不切换回user。 rvm use 1.8.7 显示正常了。 安装gems http://rubygems.org/pages/download 3、安装rails gem install rails -v [...]
(阅读更多精彩内容...)接着上一篇,问题继续。 rake db:migrate >> rake aborted! >> undefined method `task’ for #<Rails31test::Application:0x00000100de6a60> 好吧,继续找答案,此处还是省略一些细节,直接看这里吧。 >> bundle exec rake db:migrate 问题暂时解决。 至此,projects已经可以看到了,剩下的还在琢磨。 补充一些链接: CoffeeScript http://jashkenas.github.com/coffee-script/ RVM(Ruby Version Manager) https://rvm.beginrescueend.com/ SASS/SCSS http://sass-lang.com/ Sprockets http://getsprockets.org/
(阅读更多精彩内容...)Rails3.1面世了,赶紧尝鲜吧。可是,第一个问题就出现了,更新失败。此处略过一堆字,直接笔记:安装rvm吧。 https://rvm.beginrescueend.com/rvm/install/ rvm简直是多版本ruby开发环境下的救世主。补充一下笔记: 在安装完rvm后,rails new rails31test 新建了一个测试项目,一切正常,可是bundle的时候出错,就连 gem list都出错。查了一下,原来我们要重新安装gem,也要重新装rails。 ps:各位是不是会觉得,我刚才安装了阿,为什么又要装一次?你是不是也看这个视频了?http://railscasts.com/episodes/265-rails-3-1-overview 一切都没错,只是rvm 1.9.2@railspre –create 是新建了一个gemsets,(此语法为简写)。这样我们还得安装一下bundler rails31test liwei$ gem install bundler rails31test liwei$ bundle rails31test liwei$ rails g scaffold project name:string … … /Users/apple/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.0.beta1/lib/sprockets/railtie.rb:37:in `block (2 levels) in <class:Railtie>’: undefined method `context’ for #<Sprockets::Environment:0x0000010312c420> (NoMethodError) 查到这个问题的解决办法:https://github.com/rails/rails/issues/453 在Gemfile里写: gem ‘sprockets’, ’2.0.0.beta.2′ 原因:beta.2 is required by rails 3.1.0beta1 注意:安装的时候,使用的是 gem [...]
(阅读更多精彩内容...)我们在页面上进行ajax校验属性的时候,有两种情况会碰到。 一种是,只要出错,就给一个提示。这个比较常见的就是“您填写的用户名或密码不正确”。因为这里可能做了三组判断,先判断用户名是否存在,然后是密码是否为空,三是两者能否检索出一条纪录。如果那个出现为空,就直接返回false,controller也就直接宣布了上面那句话。 第二种比较复杂,就是每个属性都会给一个详细的解释,甚至多个解释,比如邮件格式不正确,邮件不能为空,邮件应该以字母开头等等。因为ajax判断有时候不一定会把model实例传回来,而可能只给一个message,让view去针对该输入进行提示,比如那个经典的输入矿失去焦点时校验。 针对上面两种方法,我经常用到的就是 errors.add_to_base 和 errors.add 方法。这里做以笔记。内容来自rdoc def validate! errors.add(:name, "can not be nil") if name == nil end def validate! errors.add_to_base("can not be nil") if name == nil end 其实,它们是一样的 def add_to_base(msg) add(:base, msg) end 做以笔记,因为有时候真的会忘记这些小代码。 补充几个方法: def Person.human_attribute_name(attr, options = {}) attr end 它可以把名称更人性化的输出,比如“first_name” [...]
(阅读更多精彩内容...)第一步安裝Growl http://growl.info/index.php 注意要安裝擴展中的 growlnotify。 growlnotify is a command-line tool to post Growl notifications. 第二步設置Growl Open the Growl Preference Panel (System > Growl) and activate “Listen for incoming notifications” and “Allow remote application registration” options on the Network tab. 第三步安裝相關gem 1 gem install autotest 2 gem install ZenTest 3 gem install autotest-rails-pure autotest 和 ZenTest 缺一不可,下面的gem不用安裝,不過這講了 [...]
(阅读更多精彩内容...)笔记一下,不常用的destroy命令,和generate相反。有时候写错了一个关键的地方,随手想删掉,就想到它了。比如刚才。。。 liwei$ rails destroy –help Usage: rails destroy GENERATOR [args] [options] General options: -h, [--help] # Print generator’s options and usage -p, [--pretend] # Run but do not make any changes -f, [--force] # Overwrite files that already exist -s, [--skip] # Skip files that already exist -q, [--quiet] [...]
(阅读更多精彩内容...)在Rails2.3 等后续版本中可使用try方法,避免 nil 对象调用方法。 比如 user = User.find_by_id(0) user.name 必然会引起异常了,所以用try方法加以避免 user.try(:name)
(阅读更多精彩内容...)