- 浏览: 2075773 次
- 性别:
- 来自: NYC
文章分类
- 全部博客 (628)
- Linux (53)
- RubyOnRails (294)
- HTML (8)
- 手册指南 (5)
- Mysql (14)
- PHP (3)
- Rails 汇总 (13)
- 读书 (22)
- plugin 插件介绍与应用 (12)
- Flex (2)
- Ruby技巧 (7)
- Gem包介绍 (1)
- javascript Jquery ext prototype (21)
- IT生活 (6)
- 小工具 (4)
- PHP 部署 drupal (1)
- javascript Jquery sort plugin 插件 (2)
- iphone siri ios (1)
- Ruby On Rails (106)
- 编程概念 (1)
- Unit Test (4)
- Ruby 1.9 (24)
- rake (1)
- Postgresql (6)
- ruby (5)
- respond_to? (1)
- method_missing (1)
- git (8)
- Rspec (1)
- ios (1)
- jquery (1)
- Sinatra (1)
最新评论
-
dadadada2x:
user模型里加上 protected def email ...
流行的权限管理 gem devise的定制 -
Sev7en_jun:
shrekting 写道var pattern = /^(0| ...
强悍的ip格式 正则表达式验证 -
jiasanshou:
好文章!!!
RPM包rpmbuild SPEC文件深度说明 -
寻得乐中乐:
link_to其实就是个a标签,使用css控制,添加一个参数: ...
Rails在link_to中加参数 -
aiafei0001:
完全看不懂,不知所然.能表达清楚一点?
"$ is not defined" 的问题怎么办
update:(2012/10/6)
看到还有开发人员读到这篇,起到了一些作用,并且回复了,实在是感动。一转眼,3年多过去了。想想写这篇的时候,已经今非昔比,感慨啊。不废话了,回来说rails调试
当前的情况是,Ruby1.9.3-194p Rails3.2.8
流行的调试工具gem是debugger
这个debugger更新的目的是,解决ruby1.9后的更新问题,兼容debugger和rvm的问题
未来的趋势的pry
rails部分用pry-nav
基本上的使用非常简单,所有的alias都在,怎么用debugger就怎么用pry,当然,pry有些advance功能。
回头看看有没有好的pry总结,先留个链接,有时间了我就更新一个介绍。
不知道下次再更新这篇的时候。。。。。
祝福,看到本篇的ruby攻城狮,前程似锦
-------------------------时空小分割-------------------------
快写完的时候想说
今天是清明节,大放假的,我基本上没干什么别的.希望诸位,看到这篇文章的人们,能够有点收获吧. 这样我还欣慰点, 我的时间就没有白白浪费.
这真是一篇又臭又长的文章啊.一边调试一边写已经,好几个,好几个小时了...
基本上可以用来当rails调试中文指南,或者ruby-dubug的中文手册了.
本篇主要是为了说明如何进行Rails调试的.但ruby-debug本身不是Rails的插件,也就是说ruby-debug是调试ruby程序.
1. 安装ruby-debug
那么,安装自然,就不是Rails的插件安装,下载gem包,或者直接gem安装如下:
2. 在rails中如何配置
修改环境配置文件:
增加断点
在需要调试的代码部分增加debugger
启动运行
调试运行界面
基本命令详解
1. help
第一个,最重要的命令
你可以用help cmd看cmd命令的内容详情
这里说明我的ruby-debug是0.10.3版.这个版本的一些命令已经和之前版本的命令差很多了.
2. list
用来浏览代码列表和目前断点的位置
多次打list可以看下面的代码.
3. where
用于查看当前程序运行的堆栈情况
4. up/down
使用up和down命令可以在之前的where显示的堆栈中进行调试.并可以结合list和察看变量的方法,进行动态的调试.
如下:
5. step/next
单步执行,使用next命令向下执行而不进入命令本身.这两个都支持一个数字的参数表明执行多少:
6. Thread
用列出和切换线程,示例如下:
7. var
这个命令相当的强大,比起breakpoint的params来说,也是经常用到的.显示当前上下文的变量参数情况.例子如下:
8. breakpoint
在特点条件的断点,也是很方便的地方.示例如下:
9. continue
这个简单继续执行
10. delete
11. save
将当前debugger的状态保存成为文件,保存的状态,包括所有设定breakpoints,设定, 捕获的断点.不写文件名会假定生成一个.
使用source命令,得到相关信息.
12. catch
13. backtrace
显示所有堆栈的执行信息.使用"up" and "down" 可以调试和改变在堆栈的执行.当前的位置使用-->符号表明.
14. edit
修改特定文件.如果没有任何参数,则显示当前最近修改的行.用FILE:LINENUM的格式指定修改的文件和行号.以便一即使修改
15. quit
通常情况下,退出之前会有,确认提示. 然而,如果quit命令使用了参数"unconditionally",将不会有提示信息.
16. set
设定ruby-debug的环境,Boolean变量可以设定为on off或者1 0.设定变量可以用show显示
17. info
显示相关信息
18. show
19. condition
给特定的brakepoint添加,执行条件.如果,expression为空,那么断点执行的约束,取消
20. eval
* 提示 - 如果,想要设定为自动调用eval进行,表达式计算.需要设定autoeval 使用命令
21. reload
22. ps
23. undisplay
取消一些表达式的输出
Arguments are the code numbers of the expressions to stop displaying.
No argument means cancel all automatic-display expressions.
"delete display" has the same effect as this command.
Do "info display" to see current list of code numbers.
24. irb
25. finish
累了,假装写完了
看到还有开发人员读到这篇,起到了一些作用,并且回复了,实在是感动。一转眼,3年多过去了。想想写这篇的时候,已经今非昔比,感慨啊。不废话了,回来说rails调试
当前的情况是,Ruby1.9.3-194p Rails3.2.8
流行的调试工具gem是debugger
这个debugger更新的目的是,解决ruby1.9后的更新问题,兼容debugger和rvm的问题
未来的趋势的pry
rails部分用pry-nav
gem 'pry' gem 'pry-remote' gem 'pry-nav'
基本上的使用非常简单,所有的alias都在,怎么用debugger就怎么用pry,当然,pry有些advance功能。
回头看看有没有好的pry总结,先留个链接,有时间了我就更新一个介绍。
不知道下次再更新这篇的时候。。。。。
祝福,看到本篇的ruby攻城狮,前程似锦
-------------------------时空小分割-------------------------
快写完的时候想说
今天是清明节,大放假的,我基本上没干什么别的.希望诸位,看到这篇文章的人们,能够有点收获吧. 这样我还欣慰点, 我的时间就没有白白浪费.
这真是一篇又臭又长的文章啊.一边调试一边写已经,好几个,好几个小时了...
基本上可以用来当rails调试中文指南,或者ruby-dubug的中文手册了.
$ rdebug test.rb
本篇主要是为了说明如何进行Rails调试的.但ruby-debug本身不是Rails的插件,也就是说ruby-debug是调试ruby程序.
1. 安装ruby-debug
那么,安装自然,就不是Rails的插件安装,下载gem包,或者直接gem安装如下:
gem install ruby-debug -y
2. 在rails中如何配置
修改环境配置文件:
# config/environments/development.rb config.breakpoint_server = true require "ruby-debug"
增加断点
在需要调试的代码部分增加debugger
def new @story = Story.new(params[:story]) @story.user = @current_user if request.post? and @story.save debugger @story.tag_with params[:tags] if params[:tags] flash[:notice] = "Story submission succeeded" redirect_to :action => 'index' end end
启动运行
ruby script/server -e development
调试运行界面
基本命令详解
1. help
第一个,最重要的命令
(rdb:5) help ruby-debug help v0.10.3
你可以用help cmd看cmd命令的内容详情
这里说明我的ruby-debug是0.10.3版.这个版本的一些命令已经和之前版本的命令差很多了.
2. list
用来浏览代码列表和目前断点的位置
(rdb:2) list [54, 63] in ./script/../config/../app/controllers/user_controller.rb 54 end 55 end 56 57 def login 58 debugger => 59 user = User.auth(@params['login'], @params['pwd']) 60 if user 61 @session[USER_PARAM] = user 62 set_filter(user) 63 else
多次打list可以看下面的代码.
l[ist] #列出当前代码,再次输入,列出后面代码 l[ist] - #列出当前代码,往前的代码 l[ist] = #列出当前行代码 l[ist] nn-mm #列出给定行的代码
3. where
用于查看当前程序运行的堆栈情况
(rdb:2) where --> #1 ./script/../config/../app/controllers/user_controller.rb:59:in `login' #2 /usr/.../action_controller/base.rb:910:in `perform_action_without_filters' #3 /usr/.../action_controller/filters.rb:368:in `perform_action_without_benchmark' #4 /usr/.../action_controller/benchmarking.rb:69:in `measure' #5 /usr/.../action_controller/benchmarking.rb:69:in `perform_action_without_rescue' #6 /usr/.../action_controller/rescue.rb:82:in `perform_action' ...
4. up/down
使用up和down命令可以在之前的where显示的堆栈中进行调试.并可以结合list和察看变量的方法,进行动态的调试.
如下:
(rdb:2) up 2 #3 /usr/.../action_controller/filters.rb:368:in `perform_action_without_benchmark' (rdb:2) l [363, 372] in /usr/.../action_controller/filters.rb 363 364 def perform_action_with_filters 365 before_action_result = before_action 366 367 unless before_action_result == false || performed? => 368 perform_action_without_filters 369 after_action 370 end 371 372 @before_filter_chain_aborted = (before_action_result == false) (rdb:2) before_action_result [:verify_login, :verify_access] (rdb:2) performed? false (rdb:2) down 2
5. step/next
s[tep][+-]?[ nnn] #nnn 表示次数 #'+' 强制向其它线程 #'-' 和上面相反并且禁用掉force_stepping setting.
单步执行,使用next命令向下执行而不进入命令本身.这两个都支持一个数字的参数表明执行多少:
(rdb:2) s script/../config/../app/models/user.rb:27: find :first, (rdb:2) l [22, 31] in script/../config/../app/models/user.rb 22 def status_name 23 STATUS_NAMES[self.status] 24 end 25 26 def self.auth(login, pwd) => 27 find :first, 28 :conditions => ["login = ? AND pwd = ? AND status = ?", 29 login, pwd, ACTIVE] 30 end 31 32 def is_admin?
6. Thread
th[read] l[ist] # 列出所有的线程 th[read] stop <nnn> # 停止指定线程 th[read] resume <nnn> # 恢复指定线程 th[read] [sw[itch]] <nnn> # 切换执行环境到指定线程 th[read] [cur[rent]] # 显示当前线程
用列出和切换线程,示例如下:
(rdb:2) thread list 1 #<Thread:0x1f17c4 sleep> /usr/local/lib/ruby/1.8/webrick/server.rb:91 +2 #<Thread:0x4b3b2b8 run> script/../config/../app/models/user.rb:27 31 #<Thread:0x4b61238 sleep> /usr/local/lib/ruby/1.8/drb/drb.rb:944 (rdb:2) By the way, the debugger prompt also shows the current thread number (rdb:2).
7. var
v[ar] cl[ass] #显示当前上下文的所有类变量 v[ar] c[onst] <object> #显示当前上下文的常数对象 v[ar] g[lobal] #显示当前上下文的全局变量 v[ar] i[nstance] <object> #显示当前上下文的当前对象的实例变量 v[ar] l[ocal] #显示当前上下文的所有局部变量
这个命令相当的强大,比起breakpoint的params来说,也是经常用到的.显示当前上下文的变量参数情况.例子如下:
(rdb:2) var local login => "admin" pwd => "letmein" (rdb:2) var global $! => nil $" => ["rubygems.rb", "rbconfig.rb", "rubygems/rubygems_version.rb", ...
8. breakpoint
b[reak] file:line [if expr] #在expr的条件下,设在文件的第几行设置断点 b[reak] class(.|#)method [if expr] #在expr成立条件下,设置断点在类的方法下
在特点条件的断点,也是很方便的地方.示例如下:
#以下代码由夜鸣猪@javaeye奉献 (rdb:1) l #list的简写,显示当前位置 26 #breakpoint 27 @current_item = @cart.add_product(product) 28 debugger => 29 respond_to do |format| 30 format.js if request.xhr? 31 format.html {redirect_to_index} 32 end 33 rescue ActiveRecord::RecordNotFound (rdb:1) where --> #0 StoreController.add_to_cart at line D:/RORWS/depot_t/app/controllers/store_controller.rb:29 Warning: saved frames may be incomplete; compare with caller(0). (rdb:1) b 30 #在第30行设置断点 Breakpoint 1 file D:/RORWS/depot_t/app/controllers/store_controller.rb, line 30 (rdb:1) c #continue的缩写,推出debug环境执行 Breakpoint 1 at store_controller.rb:30 #断点调试,中断了 D:/RORWS/depot_t/app/controllers/store_controller.rb:30 format.js if request.xhr? (rdb:1) l #再看一下位置 [25, 34] in D:/RORWS/depot_t/app/controllers/store_controller.rb 25 product = Product.find(params[:id]) 26 #breakpoint 27 @current_item = @cart.add_product(product) 28 debugger 29 respond_to do |format| => 30 format.js if request.xhr? 31 format.html {redirect_to_index} 32 end 33 rescue ActiveRecord::RecordNotFound 34 logger.error("Attempt to access invalid product #{params[:id]}") (rdb:2) b 72 if params['user'] == 'admin' #在admin的条件下设置断点 Set breakpoint 1 at ./script/.../controllers/user_controller.rb:69 To list all breakpoints use break command without parameters: (rdb:1) info break # 显示当前都设置了什么断点 Num Enb What 1 y at store_controller.rb:30 breakpoint already hit 1 time
9. continue
这个简单继续执行
(rdb:2) cont 127.0.0.1 - - [11/07/2006:15:09 EDT] "POST /user/login HTTP/1.1" 302 96 http://localhost:3000/bug/list -> /user/login 127.0.0.1 - - [11/07/2006:15:12 EDT] "GET /bug/list HTTP/1.1" 200 3830 http://localhost:3000/bug/list -> /bug/list
10. delete
del[ete][ nnn...] #删除指定或者所有breakpoints
11. save
save [FILE]
将当前debugger的状态保存成为文件,保存的状态,包括所有设定breakpoints,设定, 捕获的断点.不写文件名会假定生成一个.
使用source命令,得到相关信息.
12. catch
cat[ch] #等同与 "info catch" cat[ch] <exception-name> #拦截<exception-name>所指定的异常
13. backtrace
bt|backtrace #where - display的别名 (rdb:8) backtrace --> #0 StoreController.add_to_cart at line D:/RORWS/depot_t/app/controllers/store_controller.rb:29 #1 Kernel.send at line c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:1253 #2 ActionController::Base.perform_action_without_filters at line c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:1253 #3 ActionController::Filters::InstanceMethods.call_filters(chain#ActionController::Fil...,...) at line c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:617
显示所有堆栈的执行信息.使用"up" and "down" 可以调试和改变在堆栈的执行.当前的位置使用-->符号表明.
14. edit
修改特定文件.如果没有任何参数,则显示当前最近修改的行.用FILE:LINENUM的格式指定修改的文件和行号.以便一即使修改
15. quit
q[uit] [unconditionally] #从调试环境推出. exit #就是quit命令的别名
通常情况下,退出之前会有,确认提示. 然而,如果quit命令使用了参数"unconditionally",将不会有提示信息.
16. set
设定ruby-debug的环境,Boolean变量可以设定为on off或者1 0.设定变量可以用show显示
set annotate # 设定注释等级 set args # 设定变量列表,用来传递给运行环境 set autoeval # 在不能直接输出的表达式,进行eval计算 set autolist # 在每个breakpoint时执行list set autoirb # 任何时候只要stop则执行irb set autoreload # 当代码有修改的时候,从新load set basename # 设定basename只显示文件名 set callstyle # 设定显示变量格式 set debuggertesting # 用于测试debugger自身 set forcestep # 保证'next/step'命令总是能向新行移动 set fullpath # 在frames中显示文件的完整路径名 set history # Generic command for setting command history parameters set keep-frame-bindings # Save frame binding on each call set linetrace+ # Set line execution tracing to show different lines set linetrace # Set line execution tracing set listsize # Set number of source lines to list by default set trace # Display stack trace when 'eval' raises exception set width # Number of characters the debugger thinks are in a line
17. info
显示相关信息
info args # Argument variables of current stack frame info breakpoints # 显示当前所有断点的状态 info catch # 可以被捕获的Exceptions,通过catch命令设定 info display # 程序结束时的输出 info file # 关于读取文件的内容 info files # 关于读取文件的时间和名字等信息 info global_variables # 所有全局变量 info instance_variables # 当前frame的示例变量 info line # 当前文件的当前行有关信息 info locals # 局部变量信息 info program # 程序执行状态信息 info stack # 相关stack信息 info thread # Thread相关信息 info threads # Thread相关信息 info variables # 局部变量示例变量信息
18. show
show annotate # 显示注释级别 show args # 显示当程序要执行时的参数列表 show autoeval # 是否显示当遇到不识别命令 show autolist # 显示是否自动list的设定 show autoirb # 显示是否有设定autoirb show autoreload # 显示是否有设定autoreload show basename # Show if basename used in reporting files show callstyle # Show paramater style used showing call frames show commands # Show the history of commands you typed show forcestep # Show if sure 'next/step' forces move to a new line show fullpath # Show if full file names are displayed in frames show history # Generic command for showing command history parameters show keep-frame-bindings # Save frame binding on each call show linetrace # 显示行执行信息 show linetrace+ # Show if consecutive lines should be different are shown in tracing show listsize # Show number of source lines to list by default show port # Show server port show post-mortem # Show whether we go into post-mortem debugging on an uncaught exception show trace # Show if a stack trace is displayed when 'eval' raises exception show version # 显示debug版本号 show width # 显示调试信息的行字数
19. condition
Condition breakpoint-number expression
给特定的brakepoint添加,执行条件.如果,expression为空,那么断点执行的约束,取消
20. eval
e[val] expression # 计算表达式的值并输出 # 可以做为p别名.
* 提示 - 如果,想要设定为自动调用eval进行,表达式计算.需要设定autoeval 使用命令
use 'set autoeval'
21. reload
r[eload] forces source code reloading
22. ps
ps expression #计算数组,集合,序列,表达式组的值,并序列化输出
23. undisplay
undisp[lay][ nnn]
取消一些表达式的输出
引用
Arguments are the code numbers of the expressions to stop displaying.
No argument means cancel all automatic-display expressions.
"delete display" has the same effect as this command.
Do "info display" to see current list of code numbers.
24. irb
irb # 打开一个(IRB) 环境
25. finish
fin[ish] [frame-number] #Execute until selected stack frame returns.
引用
If no frame number is given, we run until the currently selected frame
returns. The currently selected frame starts out the most-recent
frame or 0 if no frame positioning (e.g "up", "down" or "frame") has
been performed. If a frame number is given we run until that frame
returns.
returns. The currently selected frame starts out the most-recent
frame or 0 if no frame positioning (e.g "up", "down" or "frame") has
been performed. If a frame number is given we run until that frame
returns.
累了,假装写完了
评论
9 楼
ifyouseewendy
2012-11-05
同4楼,感谢~
8 楼
tiroc
2012-02-05
最近发现,有的时候程序不会停在我打断点的地方让我调试,而是停在断点所在方法的上层或上几层调用处。不知道你有没有遇见过?
7 楼
fireDragonpzy
2012-01-31
不错 这样便于调试了 不用什么都要源码中一遍遍puts了
6 楼
tiroc
2011-10-27
感谢!有了这些,以后调试起来简直就有如神助啦!
5 楼
jinleileiking
2011-06-30
ggggggggoooooooooooooooddddd
4 楼
beefcow
2011-05-26
特别登录进来,以示感谢
3 楼
ywencn
2010-03-10
谢谢猪头!
2 楼
wxmfly
2009-09-19
感谢楼主的辛苦付出,无私分享。
1 楼
loveleen
2009-05-12
严重感谢!
发表评论
-
Destroying a Postgres DB on Heroku
2013-04-24 10:58 935heroku pg:reset DATABASE -
VIM ctags setup ack
2012-04-17 22:13 3259reference ctags --extra=+f --e ... -
alias_method_chain方法在3.1以后的替代使用方式
2012-02-04 02:14 3295alias_method_chain() 是rails里的一个 ... -
一些快速解决的问题
2012-01-19 12:35 1472问题如下: 引用Could not open library ... -
API service 安全问题
2011-12-04 08:47 1386这是一个长期关注的课题 rest api Service的 ... -
Module方法调用好不好
2011-11-20 01:58 1349以前说,用module给class加singleton方法,和 ... -
一个ajax和rails交互的例子
2011-11-19 01:53 1908首先,这里用了一个,query信息解析的包,如下 https: ... -
Rails 返回hash给javascript
2011-11-19 01:43 2277这是一个特别的,不太正统的需求, 因为,大部分时候,ajax的 ... -
关于Rubymine
2011-11-18 23:21 2267开个帖子收集有关使用上的问题 前一段时间,看到半价就买了。想 ... -
ruby中和javascript中,动态方法的创建
2011-11-18 21:01 1241class Klass def hello(*args) ... -
textmate快捷键 汇总
2011-11-16 07:20 8147TextMate 列编辑模式 按住 Alt 键,用鼠标选择要 ... -
Ruby面试系列六,面试继续面试
2011-11-15 05:55 2025刚才受到打击了,充分报漏了自己基础不扎实,不肯向虎炮等兄弟学习 ... -
说说sharding
2011-11-13 00:53 1492这个东西一面试就有人 ... -
rails面试碎碎念
2011-11-12 23:51 1946面试继续面试 又有问ru ... -
最通常的git push reject 和non-fast forward是因为
2011-11-12 23:29 17216git push To git@github.com:use ... -
Rails 自身的many to many关系 self has_many
2011-11-12 01:43 2737简单点的 #注意外键在person上people: id ... -
Rails 3下的 in place editor edit in place
2011-11-12 01:20 946第一个版本 http://code.google.com/p ... -
Heroku 的诡异问题集合
2011-11-11 07:22 1697开个Post记录,在用heroku过程中的一些诡异问题和要注意 ... -
SCSS 和 SASS 和 HAML 和CoffeeScript
2011-11-07 07:52 12960Asset Pipeline 提供了内建 ... -
Invalid gemspec because of the date format in specification
2011-11-07 02:14 2122又是这个date format的错误。 上次出错忘了,记录下 ...
相关推荐
在安装完成后,可以直接使用`gem`命令管理Ruby扩展包。 **示例:安装Rails框架** 作为Ruby应用开发中的主流框架之一,Rails可以通过RubyGems轻松安装。执行命令`gem install rails -y`即可一键安装Rails及其所有...
### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...
在Mac上安装MongoDB 启动MongoDB服务器mongodMongodb数据目录权限 sudo chmod 777 /data/db创建一个Rails项目使用'--skip-active-record'开关创建Rails项目。 rails new ruby-on-rails-with-mongodb --skip-active-...
总的来说,Ruby-2.5.3-x64的下载和安装对于Windows平台的Ruby开发者来说,是建立开发环境的基础步骤。通过这个安装包,用户可以获得官方最新稳定版本的Ruby解释器和必要的开发工具,从而开始编写和执行Ruby代码,...
Ruby-Karafka是一款针对Apache Kafka构建的Ruby和Rails应用程序开发框架,它为开发者提供了一种高效、灵活的方式来处理消息队列中的数据流。Kafka是一个分布式流处理平台,常用于实时数据管道和构建实时分析应用。...
“ ruby-debug-ide” gem提供协议来建立调试器引擎(例如或 )和IDE(例如RubyMine,Visual Studio Code或Eclipse)之间的通信。 “ ruby-debug-ide”将命令从IDE重定向到调试器引擎。 然后,它将从调试器...
rails-dev-box, 面向 Ruby on Rails 核心开发的虚拟机 用于 Ruby on Rails 核心开发的虚拟机简介注意:这个虚拟机不是为 Rails 应用程序开发而设计的,只是为。 这个项目自动设置开发环境,以便在 Ruby on Rails ...
6. **设置环境变量**:为了能在系统中方便地使用新安装的Ruby,需要更新`PATH`环境变量: ``` echo 'export PATH=/usr/local/ruby-2.4.3/bin:$PATH' >> ~/.bashrc source ~/.bashrc ``` 7. **验证安装**:最后...
Ruby-2.2.0是Ruby编程语言的一个版本,它是一个强大的、动态的、面向对象的脚本语言,以其简洁的语法和...理解如何解压和安装Ruby源代码,以及如何配置和运行Ruby on Rails应用程序,是成为有效GitLab管理员的基础。
2. **初始化**:执行`rails generate administrate:install`命令,这将生成基础的路由和应用所需的配置文件。 3. **资源定制**:通过在`app/admin`目录下为每个数据库模型创建一个新文件,可以自定义每个管理页面的...
Ruby-Mutations是一个强大的工具,专为Ruby和Rails开发者设计,旨在提高代码的质量和可靠性。它通过执行一系列针对代码库的“突变测试”来确保你的测试套件具有足够的覆盖率,从而帮助你编写出更安全、可重用和可...
本文将深入探讨"Ruby-Annotate"工具,这是一个用于Rails项目的实用程序,能够自动为你的模型添加注释,显示有关数据库模式、关联和路由的信息。 **Ruby-Annotate** 是一个Ruby gem,它的主要功能是分析你的Rails...
在Ruby开发领域,Web开发框架Rails(Ruby on Rails)因其高效和简洁的代码风格而备受开发者喜爱。近年来,随着前端技术的发展,JavaScript库如React在构建用户界面方面展现了强大潜力。本示例将探讨如何在Rails应用...
用于Ruby on Rails核心开发的虚拟机 介绍 请注意,该虚拟机并非为Rails应用程序开发而设计,而仅是为Rails核心开发而设计... 安装完成后,您可以使用以下命令访问虚拟机: host $ vagrant ssh Welcome to Ubuntu 20.10
Ruby_on_Rails_rails.zip Ruby_on_Rails_rails.zip Ruby_on_Rails_rails.zip Ruby_on_Rails_rails.zipRuby_on_Rails_rails.zip Ruby_on_Rails_rails.zip Ruby_on_Rails_rails.zip Ruby_on_Rails_rails.zipRuby_on_...
Ruby on Rails(简称Rails)是一种流行的Web开发框架,以其“约定优于配置”的理念和高效的开发速度受到开发者喜爱。而Go(Golang)则是一种静态类型、编译型的语言,以其高性能、简洁的语法和强大的并发能力闻名。...
"Rails Erd"是一个Ruby gem,专门用于为Rails应用程序自动生成ERD,使得数据库设计和管理变得更加简单和直观。这个工具是由Voormedia开发的,版本号为0eb4577。 ERD是数据库设计的基础,它通过图形化方式展示了各个...
现在,我们可以开始编译和安装Ruby: ```bash ./configure make sudo make install ``` 安装完成后,为了使系统能够识别新安装的Ruby版本,可能需要更新`PATH`环境变量: ```bash echo 'export PATH=/usr/local/...