- 浏览: 2075662 次
- 性别:
- 来自: 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: 2011/10/26
1. 只想测试不想,真修改数据库
ruby script\console --sandbox
Loading development environment in sandbox.
Any modifications you make will be rolled back on exit.
>>
2. reload! 代码修改后的更新
3. 测试controller的返回
对于Rails控制台的使用,往往对于调试开发过程是相当重要的.对于还不知道rails控制台的读者而言也不要紧,你只要在项目的根目录输入
下面的介绍是大部分开发人员不太熟悉却十分有用的控制台技巧.
一. 下划线方法 _
下划线返回上一条命令的返回值.如果,你刚好查看了一个表达式的值,那么,你可以使用_方法,取得这个表达式的值,并赋值给一个变量.下划线方法的使用如下:
这时如果你忘了,把这个输出,赋值给你的一个变量.那么不要紧:
要注意的是,如果,这个值没有被"_"捕获,将在下一条新表达式的执行下被覆盖.
二. y 方法
实际上这个方法只是Kernel的y 方法.然而,它在这里却十分有用,特别是你要在irb的会话理,打印出一些符合格式输出的表达式的时候.比如YAML文件.使用如下:
这个方法特别对于输出大容量的collectionRails Models时特别有用.
三. pp库
和上面的y方法类似,pp也是一个相当好的用于打印输出的库文件.如果你想要输出一个很复杂的collections数据,你只需要在你的irb会话理注明require pp.然后,你就可以看到它出众的效果了:
如果,你希望能够更容易的使用,接着看下面:
四 .irbrc
对于默认的linux和unix操作系统而言,.irbrc文件存放在用户的$HOME目录下,用来预先加载需要在irb里面使用的文件.在这里我们同样可以使用,当然,在Windows下的用户需要自己创建这个irbrc文件并且用IRBRC变量在evironment的中标识.
你可以在这个文件中放置任何你需要加载的ruby命令,示例如下:
如上,可以看到在这个文件里可以加载任何你要要加载的库文件.甚至,你也可以在这个文件里写你自己定义的方法.
五. 完全定制
在上面的.irbrc文件示例的基础上,其实,还有一些更高级的定制,当然,或许还需要一些,插件包的支持.你可以通过下面的例子看到.
这里只看一个例子:
当然,条件是你需要在.irbrc的文件里添加类似如下的,代码和文件定义:
用来实现类似的功能:
其它的这里就不详细描述了.
1. 只想测试不想,真修改数据库
ruby script\console --sandbox
Loading development environment in sandbox.
Any modifications you make will be rolled back on exit.
>>
2. reload! 代码修改后的更新
3. 测试controller的返回
app.https! #Then to get a URL you can use the simple get method: app.get('/my/path') #If you want to put or post to a URL there are also methods for that. You can copy/paste the parameters exactly as they are displayed in your Rails production log: app.post('/foo', {"this" => "that", "items" => ["bar", "baz"]}) app.put('/foo', {"this" => "that", "items" => ["bar", "baz"]}) #If you want to sent a custom header, you can add an optional third parameter: app.post('/foo', {:this => "that", :items => ["bar", "baz"]}, {"X-Do-Something" => "yes"})
对于Rails控制台的使用,往往对于调试开发过程是相当重要的.对于还不知道rails控制台的读者而言也不要紧,你只要在项目的根目录输入
ruby script/console并看到类似irb的场景就可以使用了,不同的是这个控制台还加载了Rails的运行时态环境,例如插件.
下面的介绍是大部分开发人员不太熟悉却十分有用的控制台技巧.
一. 下划线方法 _
下划线返回上一条命令的返回值.如果,你刚好查看了一个表达式的值,那么,你可以使用_方法,取得这个表达式的值,并赋值给一个变量.下划线方法的使用如下:
>> City.all => [#<City id: 218996838, name: "Chatswood", postcode: "2067", state_id: 944944227, created_at: "2009-03-30 01:56:22", updated_at: "2009-03-30 01:56:22">, #<City id: 957448139, name: "Roseville", postcode: "2069", state_id: 944944227, created_at: "2009-03-30 01:56:22", updated_at: "2009-03-30 01:56:22">, #<City id: 1015505586, name: "Willoughby", postcode: "2068", state_id: 944944227, created_at: "2009-03-30 01:56:22", updated_at: "2009-03-30 01:56:22">]
这时如果你忘了,把这个输出,赋值给你的一个变量.那么不要紧:
>> c = _ => [#<City id: 218996838, name: "Chatswood", postcode: "2067", state_id: 944944227, created_at: "2009-03-30 01:56:22", updated_at: "2009-03-30 01:56:22">, #<City id: 957448139, name: "Roseville", postcode: "2069", state_id: 944944227, created_at: "2009-03-30 01:56:22", updated_at: "2009-03-30 01:56:22">, #<City id: 1015505586, name: "Willoughby", postcode: "2068", state_id: 944944227, created_at: "2009-03-30 01:56:22", updated_at: "2009-03-30 01:56:22">]
要注意的是,如果,这个值没有被"_"捕获,将在下一条新表达式的执行下被覆盖.
二. y 方法
实际上这个方法只是Kernel的y 方法.然而,它在这里却十分有用,特别是你要在irb的会话理,打印出一些符合格式输出的表达式的时候.比如YAML文件.使用如下:
>> { :foo => 'bar', :woo => { :ooo => 1 } } => {:foo=>"bar", :woo=>{:ooo=>1}} >> y _--- :foo: bar :woo: :ooo: 1 => nil
这个方法特别对于输出大容量的collectionRails Models时特别有用.
三. pp库
和上面的y方法类似,pp也是一个相当好的用于打印输出的库文件.如果你想要输出一个很复杂的collections数据,你只需要在你的irb会话理注明require pp.然后,你就可以看到它出众的效果了:
>> require 'pp' => true >> pp City.all [#<City id: 218996838, name: "Chatswood", postcode: "2067", state_id: 944944227, created_at: "2009-03-30 01:56:22", updated_at: "2009-03-30 01:56:22">, #<City id: 957448139, name: "Roseville", postcode: "2069", state_id: 944944227, created_at: "2009-03-30 01:56:22", updated_at: "2009-03-30 01:56:22">, #<City id: 1015505586, name: "Willoughby", postcode: "2068", state_id: 944944227, created_at: "2009-03-30 01:56:22", updated_at: "2009-03-30 01:56:22">] => nil
如果,你希望能够更容易的使用,接着看下面:
四 .irbrc
对于默认的linux和unix操作系统而言,.irbrc文件存放在用户的$HOME目录下,用来预先加载需要在irb里面使用的文件.在这里我们同样可以使用,当然,在Windows下的用户需要自己创建这个irbrc文件并且用IRBRC变量在evironment的中标识.
你可以在这个文件中放置任何你需要加载的ruby命令,示例如下:
require 'rubygems' require 'irb/completion' require 'pp' require 'yaml' def gvim(x) IO.popen( 'gvim -', 'w') do |io| io.puts x.to_yaml end end def less(x) IO.popen( 'less -', 'w') do |io| io.puts x.to_yaml end end
如上,可以看到在这个文件里可以加载任何你要要加载的库文件.甚至,你也可以在这个文件里写你自己定义的方法.
五. 完全定制
在上面的.irbrc文件示例的基础上,其实,还有一些更高级的定制,当然,或许还需要一些,插件包的支持.你可以通过下面的例子看到.
这里只看一个例子:
> 3.45.what? 3 3.45.truncate == 3 3.45.to_i == 3 3.45.prec_i == 3 3.45.floor == 3 3.45.to_int == 3 3.45.round == 3 => ["truncate", "to_i", "prec_i", "floor", "to_int", "round"] > 3.45.what? 4 3.45.ceil == 4 => ["ceil"] > 3.55.what? 4 3.55.ceil == 4 3.55.round == 4 => ["ceil", "round"]
当然,条件是你需要在.irbrc的文件里添加类似如下的,代码和文件定义:
class MethodFinder def initialize( obj, *args ) @obj = obj @args = args end def ==( val ) MethodFinder.show( @obj, val, *@args ) end end class Object def what?(*a) MethodFinder.new(self, *a) end end
用来实现类似的功能:
>> "hello".what? 5 "hello".length 5 “hello”.size == 5 => [“length”, “size”] >> “foo”.what?(“bar”) "foobar" "foo".<<("bar") “foobar” “foo”.+(“bar”) "foobar" "foo".concat("bar") “foobar” => [“<<”, ”+”, “concat”]
其它的这里就不详细描述了.
发表评论
-
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 ... -
eloquent ruby 读书笔记
2012-02-22 07:24 1463节省时间就草记,只记录新鲜,容易忘的 1. case 的判 ... -
Rails 3 in action 读书笔记
2012-02-11 23:54 1365那天看到IE有战友贴了这个书,就想找个时间读读,有收获随笔记下 ... -
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过程中的一些诡异问题和要注意 ...
相关推荐
awesome_rails_console, Rails 控制台增强使你的Rails 控制台更加出色 使你的Rails 控制台非常出色这个 gem 是由使用pry生产,jazz_hands和 jazz_fingers的激发 was 。awesome_rails_console的优点是:减少 gem ...
使您的Rails Console很棒这个 gem 的灵感来自 、 和 。 awesome_rails_console的优点是: 更少的宝石依赖关系(仅使用除prail-rails和awesome_print之外的rails。其余都是可选的) 更简单的提示修改(类似于你已经...
`capistrano-rails-console`是针对Capistrano的一个插件,专门用于在远程服务器上提供Rails控制台和数据库控制台(dbconsole)的功能。 ### Capistrano基础知识 Capistrano的核心是基于任务的,这些任务可以是内置...
RailsConsole 工具包 :wrench: :toolbox: 可配置的 Rails 控制台助手更快地查找记录,添加自定义助手,将您的控制台寿命提高 100%。安装将此行添加到应用程序的 Gemfile 中: gem 'rails_console_toolkit' 然后生成...
RSpec控制台 RSpec控制台允许您在Rails控制台中运行RSpec测试。 最好与搭配使用。 在使用,它特别有用,因为它将为您保持活动的JVM运行。 这极大地减少了在jRuby中...使用Rails,使用rails c test启动控制台。 4)
如果您使用IRT代替irb,则将拥有所有常规的irb / rails控制台功能,以及许多使您的生活更加轻松的工具。 强大而简单 彩色输出清晰易读 三种类型的会话:交互,检查和绑定 从您的代码(或erb模板)中打开irb / irt...
GitHub Rails 应用程序在控制台中有一个很好的辅助方法,称为dat ,它可以从基于字符串的各种模型中获取正确的信息。 这是用于通用用途的类似内容(根本不基于相同的实现,我只是希望能够在我的所有 Rails 应用程序...
Gemfile 以仅将其包含在您需要的环境中: gem 'archer-rails' , group : [ :production ]这个怎么运作Ruby 将控制台历史记录存储在由以下文件指定的文件中: IRB . conf [ :HISTORY_FILE ] 此文件会在临时文件系统上...
这个工具简化了在Rails项目中使用Go进行后端处理的流程,使开发者可以利用Go的性能优势处理高并发请求,同时保留Rails的便捷开发体验。 ### 2. 安装`GoOnRails` 首先,确保你的系统已经安装了Rails和Go。接下来,...
5. **开发环境中的SSL**:在本地开发环境中,可以使用Puma或Webrick等服务器的SSL支持,或者通过ngrok等工具创建一个临时的公共HTTPS隧道。 6. **证书配置**:在生产环境中,你需要购买并配置有效的SSL证书。这通常...
Rails3 是 Ruby on Rails 框架的一个版本,它提供了一系列强大的命令行工具,使得开发者可以快速地构建和管理Web应用。在本文中,我们将深入探讨Rails3中的常用命令,帮助你更高效地进行开发工作。 首先,新建一个...
- **前置技能**: 学习本书之前,读者需要具备一定的基础技能,包括Git的基本操作、编辑器的使用技巧以及Linux命令行的基础知识。 - **推荐资源**: - **Git学习资源**: - 推荐书籍或教程。 - **编辑器学习资源**: ...
本教程将详细介绍如何使用Aptana与Rails结合,创建一个功能完备的Web应用程序。 首先,我们需要安装Aptana Studio。你可以从其官方网站下载最新版本的安装包。安装过程中,遵循提示进行,确保选择自定义安装并勾选...
这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何利用Rails的强大功能来创建一个允许用户上传、分享和浏览图片的应用。 1. **Rails框架基础**: Rails的核心理念是DRY(Don't...
描述中提到的博文链接指向了一个ITEYE博客文章,尽管具体内容未提供,但通常这样的博客可能会包含Rails的使用技巧、最佳实践、新版本更新或者特定问题的解决方案。 标签 "源码" 暗示了可能涉及Rails的源代码分析或...
- `rails new demo`:这将创建一个新的Rails应用程序,名为“demo”。它会生成所有基本目录结构和配置文件。 2. **启动服务器**: - `rails server` 或 `rails s`:这个命令启动Rails开发服务器,默认端口为3000...
进入项目目录后,可以使用以下命令启动Rails控制台和服务器: ```bash cd my_project_name rails console rails server -p 3000 ``` ##### 7. 文档与API文档 可以通过`rake doc:rails`命令生成Rails API文档: `...
轻量级Reddit克隆在此项目中,我们将构建支持链接提交和评论所需的数据结构。... 您应该能够使用rails c运行Rails控制台用法尝试在控制台中使用一些Rails查询,例如User.all或Post.last.comments ,并检查从数据
5. **Resque**: 类似于 DJ,Resque 也是一个队列系统,但它使用 Redis 作为后端存储。Resque 支持多线程和分布式工作环境。 6. **Sidekiq**: Sidekiq 是另一个高效的工作队列,它直接使用多线程而不是 fork 进程,...