mysql,Linux,HighPerformance,ruby on Rails

2009年12月29日星期二

Windows下使用rails遇到的问题收集-episode#1

1.连mysql遇到Mysql::Error: query: not connected: CREATE TABLE `schema_migrations` (`version`
varchar(255) NOT NULL) ENGINE=InnoDB
原因是ruby gem中 Mysql Client Library(libmySQL.dll)高版本不支持.下载一个放到\bin\下就直接能用.地址: http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll .

2.window下最好的rails editor是什么,是VIM.
Vim configuration需要配,有详细说明是最理想的,这里

rails.vim的常用指令:

:Rails {目录}
在指定的目录建立一个新的Rails应用程式。如 :Rails d:\depot

:Rake {指令}
直接呼叫Rake进行指定的动作。如 :Rake db:migrate

:Rgen {指令}
呼叫script/generate。如 :Rgen controller admin

:Rserver
呼叫script/server。

:Rproject
在画面的左端以树状结构显示Rails程式目录

:Rpreview {名称}
打开浏览器检视指定的位址。例如输入:Rpreview store 就会打开http://127.0.0.0:3000/store/

:Redit {名称}
直接打开指定的档名。 (注:有些档案不能用这种方式开启。)

:Rcontroller {名称}
:Rmodel {名称}
:Rview {名称}
:Rlayout {名称}
打开指定的controller / model / view / layout
接下来有几个指令一定要特别提出来讲。这是rails.vim最强大的部份:
1. gf

gf这个指令根据游标所在的位置不同会有不同的效果,直接看例子(*代表游标的位置)

游标的位置 打开的档案
Pos*t.find(:first) app/models/post.rb
has_many :c*omments app/models/comment.rb
:bl*og app/controllers/blog_controller.rb" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'">link_to “Home”, :controller => :bl*og app/controllers/blog_controller.rb
'sh*ared/sidebar' app/views/shared/_sidebar.rhtml" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'">= render :partial => 'sh*ared/sidebar' app/views/shared/_sidebar.rhtml
%= stylesheet_link_tag :scaf*fold public/stylesheets/scaffold.css

甚至,假设我们有个admin_controller 中有一段程式码:

def s*ay

end

输入gf就会马上切换到say对应的view (app/views/admin/say.rhtml)
2. :R跟:A

这两个指令也是在不同的档案间切换用的,运作方式如下:
目前的档案 输入:A会切换到 输入:R会切换到
model 对应的unit test 对应的migration
controller (in method) 对应的functional test 对应的template (view)
template (view) 对应的helper 对应的controller中method的位置
migration 前一版的migration 下一版的next migration
















参考:http://devpoga.wordpress.com/2008/02/05/vim-rails/

最后发现国人制作的vimmate,更加方便,快速部署.

没有评论:

发表评论