道喜技术日记 .^. 天天红玉世界

Rails Ruby MacOSX 。。。创新来自于刻苦的实践和勤奋的思考... www.hhtong.com


Ruby世界:使用iTune学习Ruby语言和Rails框架

Gudao Luo2010-06-14 at 20:17发表的

2010-06-14-2013
  • 前提条件
    • 下载软件Apple iTune for windows或者mac
    • http://www.apple.com/itunes/ http://www.apple.com/itunes/
    • 安装软件apple iTune
    • 启动软件apple iTune
    • 注册帐号
  • 使用iTune
    • 启动软件apple iTune
    • 进入Store >>> iTune Store
    • 登陆帐号
    • 进入App Store
    • 在搜索中,输入“ruby rails”
    • 选择与Ruby和Rails相关的网络视频(Podcast)下载
    • 进入资料库 >>> Podcast,就看到你下载的网络视频资料
    • 点击你想看的网络视频,下载你需要的视频

Rails误解一百例:命令“rake gems:install”

Gudao Luo2010-02-01 at 10:42发表的

2010-01-31 rake gem install
  • 误解条件
    1. gem version 1.3.5
    2. authlogic插件已经有版本2.1.1
    3. 文件config/environment.rb的代码:
      代码清单
      Rails::Initializer.run do |config|

      config.gem ‘hirb’

      config.gem “nifty-generators”

      config.gem “authlogic”
  • 误解问题:
    • 要是你的系统存在旧版本插件如authlogic 2.1.1,这样即使你运行命令“rake gems:install”,Rails框架也不会安装最新版本的插件。
  • 解决办法:
    • 需要在文件config/environment.rb的代码中增加代码版本。
  • 下一周:
    • “Rails误解一百例:函数root_url”

Rails世界:最好Rails网络入门教程

Gudao Luo2009-08-04 at 22:59发表的

Ruby/Rails世界:《什么是Ruby和Rails》演讲稿

Gudao Luo2009-01-28 at 18:57发表的

什么是Ruby和Rails演讲稿

Rails技巧系列:代码redirect_to(@object)够用了吗

Gudao Luo2009-01-17 at 11:56发表的

代码redirect_to(@object)够用了吗
图片页面HTML代码简化清单
<div id="tabs">
<ul>
<li><a href="#tabs-1">公司</a></li>
<li><a href="#tabs-2">员工</a></li>
<li><a href="#tabs-3">集装箱</a></li>
</ul>
<div id="tabs-1">Company</div>
<div id="tabs-2">Employee</div>
<div id="tabs-3">Container</div>
</div>
  • 说明
    • 代码(一)是通过Rails命令scaffold自动生成代码,其中有一行代码“redirect_to @container”。这一行代码返回到页面,而不能够返回到该页面的某一个标签位置,如上图所示类似页面。如何办?
    • 代码(二)中代码“redirect_to container_path(@container, :anchor => “tabs-3”) ”就是解决这个问题的办法。
代码(一)
  # POST /containers
# POST /containers.xml
def create
@container = Container.new(params[:container]) respond_to do |format|
if @container.save
flash[:notice] = 'Container was successfully created.'
format.html { redirect_to @container) }
format.xml { render :xml => @container, :status => :created, :location => @container }
else
format.html { render :action => "new" }
format.xml { render :xml => @container.errors, :status => :unprocessable_entity }
end
end
end
代码(二)
  # POST /containers
# POST /containers.xml
def create
@container = Container.new(params[:container]) respond_to do |format|
if @container.save
flash[:notice] = 'Container was successfully created.'
format.html { redirect_to container_path(@container, :anchor => "tabs-3") }
format.xml { render :xml => @container, :status => :created, :location => @container }
else
format.html { render :action => "new" }
format.xml { render :xml => @container.errors, :status => :unprocessable_entity }
end
end
end

Rails技巧系列:为什么不要使用函数puts?

Gudao Luo2009-01-16 at 22:54发表的

为什么不要使用函数puts?
使用函数puts与函数logger.info的区别
  # GET /users/1
# GET /users/1.xml
def show
@user = User.find(params[:id])
#函数puts
puts @user.to_yaml
# 函数logger.info
logger.info("#{Time.now} - #{@user.to_yaml}")
#
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @user }
end
end
  • 说明
    • 很多人喜欢使用函数puts,获取调试信息。这个问题类似于Java语言人们使用System.out.println(),获取输出内容。一旦使用了函数puts,无法保证网络服务器对于源代码输出信息的顺序!参见上图作了标记的两行输出记录。尽管在上面代码中,函数puts和logger.info是一前一后,但是输出信息的顺序与代码的顺序是不同的。
    • 建议放弃使用函数puts,获取输出信息的方法。
    • Rails框架已经集成了logger软件包!
    • 什么是logger? What is logger?

Rails框架:Rails框架高级系列教程

Gudao Luo2008-06-02 at 05:48发表的

Rails框架高级系列教程

Rails框架:Rails论坛实例项目教程

Gudao Luo2008-05-26 at 23:09发表的

Rails框架:Rails版本2.0技术资料集

Gudao Luo2007-12-09 at 00:35发表的

Rails框架技术讲座:分页技术插件will_paginate

Gudao Luo2007-07-12 at 19:37发表的

Rails框架技术讲座:分页技术插件will_paginate

  • 说明
    • 在Rails框架版本1.2.4开始pagination系统将不包括在内,但是classic_pagination插件将向前兼容。插件will_paginate将更被看好。该插件使用和集成非常简单。
  • Rails应用软件实例命令
rails use_will_paginate
cd use_will_paginate
ruby script/plugin install svn://errtheblog.com/svn/plugins/will_paginate
ruby script/generate scaffold_resource Post
vi config/database.yml
vi db/migrate/001_create_posts.rb
rake db:migrate
vi app/models/post.rb
vi app/controllers/posts_controller.rb
vi app/views/posts/index.rhtml
vi public/stylesheets/scaffold.css
ruby script/server
start http://localhost:3000/posts
  • Rails应用软件实例命令代码
svn co http://cnruby.googlecode.com/svn/trunk/rails-projects/use_will_paginate