Rails框架:如何演练Rails 2.1 RC1

Posted by cnruby Thu, 29 May 2008 09:01:00 GMT

Rails框架讲座:如何演练Rails 2.1 RC1

目录
 (一)系统环境:

  1. Ruby 语言 1.8.6版本, 点击这里Ruby1.8.4。要想安装多个Ruby语言运行环境请看这里
  2. Rails 框架 2.0.2版本,安装方法请看这里,最简单方法是第一种方法即可。
  3. Windows XP 或者 Windows 2000操作系统 或者 Linux Ubuntu操作系统
  4. 需要一个浏览器,如FireFox1.5.0.1以上版本。
  5. 开发编辑工具 Notepad2 ,安装方法请单击这里,复制一个notepad2.exe,并且更名为vi.exe。
  6. 在Windows XP上安装Linux核心命令,点击这里
  7. 如何在Windows Console下使用命令svn(下载软件),点击这里
  8. 在Windows上安装版本控制系统Git作为客户端使用,点击这里
  9. 安装数据库系统SQLite3,点击这里

 (二)前提条件:

  1. 在本机Winodw操作系统上,我们的工作目录为d:\works_rails2008。
  2. 你的电脑必须在线。
  3. 安装Rails框架插件thin:
    gem install thin --no-ri --no-rdoc

 (三)目的:

  1. 我们想要在一个已有Rails项目(版本为2.0.2)上安装和使用Rails框架最新版本2.1 RC1,注意不改变系统上的Rails框架版本。

 (四)解决方案:

  1. 创建一个Rails项目:
    rails test_project && cd test_project
  2. 查看系统Rails框架版本,应该还是版本2.0.2。
    rails -v
  3. 查看该Rails项目的版本信息
    ruby script/about
    输出结果:
    About your application's environment
    Ruby version              1.8.6 (i386-mswin32)
    RubyGems version          1.1.1
    Rails version             2.0.2
    Active Record version     2.0.2
    Action Pack version       2.0.2
    Active Resource version   2.0.2
    Action Mailer version     2.0.2
    Active Support version    2.0.2
    Application root          E:/coding/work_rails2008/test_project
    Environment               development
    Database adapter          sqlite3
  4. 安装Rails框架2.1 RC1到该Rails项目上
    git clone git://github.com/rails/rails.git vendor/rails
  5. 再一次查看该Rails项目的版本信息
    ruby script/about
    输出结果:
    About your application's environment
    Ruby version              1.8.6 (i386-mswin32)
    RubyGems version          1.1.1
    Rails version             2.0.991
    Active Record version     2.0.991
    Action Pack version       2.0.991
    Active Resource version   2.0.991
    Action Mailer version     2.0.991
    Active Support version    2.0.991
    Edge Rails revision       4d248543429918bc5a63e109e6f2327ffab9848b
    Application root          E:/coding/work_rails2008/test_project
    Environment               development
    Database adapter          sqlite3
    Database schema version   0
  6. 查看该Rails项目目录script文件
    ls script
    输出结果:
    about  console  destroy  generate  performance  plugin  process  runner  server
  7. 更新该Rails项目相关到Rails2.1 RC1内容
    rake rails:update
  8. 查看该Rails项目目录script文件,发现多了一个文件dbconsole
    ls script
    输出结果:
    about    dbconsole  generate     plugin   runner console  destroy    performance  process  server
  9. 为了使用上面这个新文件dbconsole,可以使用如下命令。该命令简化和统一了打开数据库方法。
    ruby script/dbconsole
    >>.exit
  10. 再次,查看系统Rails框架版本,应该还是版本2.0.2。
    rails -v
  11. 修改该Rails的相关配置文件environment.rb
    vi config/environment.rb
    【代码开始】
    。。。
    RAILS_GEM_VERSION = '2.0.991'
    。。。
    【代码结束】
  12. 创建该Rails的相关配置文件new_defaults.rb
    vi config/initializers/new_defaults.rb
    【代码开始】
    # These settins change the behavior of Rails 2 apps and will be defaults
    # for Rails 3. You can remove this initializer when Rails 3 is released.
    # Only save the attributes that have changed since the record was loaded.
    ActiveRecord::Base.partial_updates = true
    # Include ActiveRecord class name as root for JSON serialized output.
    ActiveRecord::Base.include_root_in_json = true
    # Use ISO 8601 format for JSON serialized times and dates
    ActiveSupport.use_standard_json_time_format = true
    # Don't escape HTML entities in JSON, leave that for the #json_escape helper
    # if you're including raw json in an HTML page.
    ActiveSupport.escape_html_entities_in_json = false
    【代码结束】
  13. 启动网络服务器thin,或者使用Mongrel。
    thin start

 (五)视听教学:



  (六)必须注意的问题:


 (七)参考资料:

  1. Rails 2.1将会有什么

 (八)命令清单:

rails test_project && cd test_project
rails -v
ruby script/about
git clone git://github.com/rails/rails.git vendor/rails
ruby script/about
ls script
rake rails:update
ls script
ruby script/dbconsole
 .exit
rails -v
vi config/environment.rb
【代码开始】
。。。
RAILS_GEM_VERSION = '2.0.991'
。。。
【代码结束】
vi config/initializers/new_defaults.rb
【代码开始】
# These settins change the behavior of Rails 2 apps and will be defaults
# for Rails 3. You can remove this initializer when Rails 3 is released.
# Only save the attributes that have changed since the record was loaded.
ActiveRecord::Base.partial_updates = true
# Include ActiveRecord class name as root for JSON serialized output.
ActiveRecord::Base.include_root_in_json = true
# Use ISO 8601 format for JSON serialized times and dates
ActiveSupport.use_standard_json_time_format = true
# Don't escape HTML entities in JSON, leave that for the #json_escape helper
# if you're including raw json in an HTML page.
ActiveSupport.escape_html_entities_in_json = false
【代码结束】
thin start



  (九)下载文件pdf:




________________________________________________________________ 您只要点击下面图标,就可以把本文加入到您喜欢的公共收藏库中去。
del.icio.us Digg | FURL | Yahoo! My Web 2.0 | Reddit | Blinklist | Fark

Posted in  | Tags , , ,

Rails框架技术讲座:网络应用软件页面技术jMaki on Rails

Posted by cnruby Sat, 22 Sep 2007 22:12:00 GMT

Rails框架技术讲座:网络应用软件页面技术jMaki on Rails

目录
 (一)系统环境:

  1. Ruby 语言 1.8.4版本, 点击这里Ruby1.8.4。要想安装多个Ruby语言运行环境请看这里
  2. Rails 框架 1.2.1版本,安装方法请看这里,最简单方法是第一种方法即可。
  3. Windows XP 或者 Windows 2000操作系统 或者 Linux操作系统
  4. 需要一个浏览器,如FireFox1.5.0.1以上版本。
  5. 开发编辑工具 Notepad2 ,安装方法请单击这里,复制一个notepad2.exe,并且更名为vi.exe。
  6. 在Windows XP上安装Linux核心命令,点击这里
  7. 如何在Windows Console下使用命令svn(下载软件),点击这里
  8. 安装数据库系统SQLite3,点击这里

 (二)前提条件:

  1. 在本机Winodw操作系统上,我们的工作目录为d:\works_rails。
  2. 你的电脑必须在线。

 (三)目的:

  1. 本文将说明网络页面技术jMaki上如何和Rails框架技术相互有机地结合在一起的。
  2. 本讲座的完整代码请您在Google Code Hosting上查看:
    http://cnruby.googlecode.com/svn/trunk/rails-projects/use-jmaki
    或者下载
    svn co http://cnruby.googlecode.com/svn/trunk/rails-projects/use-jmaki

 (四)解决方案:

  1. 我们创建Rails框架应用软件的根目录:
    mkdir use_jmaki
    cd use_jmaki
  2. 安装基于Rails框架的jMaki插件:
    ruby script/plugin source http://jmaki-goodies.googlecode.com/svn/trunk/rails_plugins
    ruby script/plugin install jmaki_core
    ruby script/plugin install jmaki_yahoo
    我们的实例仅仅使用到jMaki框架软件的一个插件jmaki_yahoo,其它的插件也可以使用,安装方法如下:
    ruby script/plugin install jmaki_dojo
    ruby script/plugin install jmaki_ext
    ruby script/plugin install jmaki_flickr
    ruby script/plugin install jmaki_google
    ruby script/plugin install jmaki_native
    ruby script/plugin install jmaki_scriptaculous
    ruby script/plugin install jmaki_spry
  3. 编辑数据库配置文件 database.yml
    vi config\database.yml
  4. 利用Rails框架自动代码生成技术,我们创建一个模型Admin及其相关代码:
    ruby script/generate scaffold_resource admin
  5. 针对我们的模板页面文件,增加jMaki技术的相关代码 admins.rhtml,以便使用JavaScript和CSS代码。这是本文的精华部分之一。
    vi app/views/layouts/admins.rhtml
      <%= stylesheet_link_tag "jmaki-standard", :media => "all" -%>
      <%= javascript_include_tag "jmaki" -%>
      <%= jmaki_setup -%>
  6. 编辑数据库移植技术文件 001_create_admins.rb ,并且创建数据库及其相关表:
    vi db/migrate/001_create_admins.rb
          t.column :username, :string
          t.column :password, :string
          execute "INSERT INTO admins VALUES(1, 'munich', '24680')"
          execute "INSERT INTO admins VALUES(2, 'beijing', '13579')"
    rake db:migrate
  7. 利用Rails框架技术和jMaki框架技术,修改页面 index.rhtml 文件。注意这是本文的精华部分之二。下面的代码有二部分代码,前面的是利用Rails框架技术把实际存储到一个Array中;后面的是jMaki框架的代码技术。
    vi app\views\admins\index.rhtml
      <h1>Listing admins</h1>

      <% @table_data = [] %>
      <% for admin in @admins %>
        <% @table_data << [ admin.username, admin.password,
                             link_to('Show', admin_path(admin)),
                             link_to('Edit', edit_admin_path(admin)),
                             link_to('Destroy', admin_path(admin), :confirm => 'Are you sure?', :method => :delete)
                           ] %>
      <% end %>

      <%= jmaki_widget 'yahoo.dataTable',
          :args => {
              :columns => [
                  { :title => 'Usename', :width => 200, :locked => false },
                  { :title => 'Password', :width => 75, :renderer => 'italic' },
                  { :title => 'Show', :width => 60, :renderer => 'italic' },
                  { :title => 'Edit', :width => 60, :renderer => 'italic' },
                  { :title => 'Destroy', :width => 60, :renderer => 'italic' },
              ]
          },
          :value => @table_data
      -%>

      <br />
      <%= link_to 'New admin', new_admin_path %>
  8. 启动网络服务器:
    ruby script\server
  9. 浏览我们的网络应用软件:
    start http://localhost:3000/admins

 (五)视听教学:



 (六)必须注意的问题:

  1. 利用NetBeans工具,可以更好地使用jMaki框架技术。

 (七)参考资料:

  1. https://ajax.dev.java.net/files/documents/3115/45044/org-netbeans-modules-sun-ajax-updatecenter.nbm
  2. https://ajax.dev.java.net/servlets/ProjectDocumentList?folderID=0
  3. http://blogs.sun.com/arungupta/entry/jmaki_on_rails_for_dummies
  4. http://jmaki.com/

 (八)命令清单:

mkdir use_jmaki
cd use_jmaki

ruby script/plugin source http://jmaki-goodies.googlecode.com/svn/trunk/rails_plugins
ruby script/plugin install jmaki_core
ruby script/plugin install jmaki_dojo
ruby script/plugin install jmaki_ext
ruby script/plugin install jmaki_flickr
ruby script/plugin install jmaki_google
ruby script/plugin install jmaki_native
ruby script/plugin install jmaki_scriptaculous
ruby script/plugin install jmaki_spry
ruby script/plugin install jmaki_yahoo

mysqladmin -u root -proot create jmaki
vi config\database.yml

ruby script/generate scaffold_resource admin

vi app/views/layouts/admins.rhtml
<%= stylesheet_link_tag "jmaki-standard", :media => "all" -%>
<%= javascript_include_tag "jmaki" -%>
<%= jmaki_setup -%>

vi db/migrate/001_create_admins.rb
t.column :username, :string
t.column :password, :string
execute "INSERT INTO admins VALUES(1, 'munich', '24680')"
execute "INSERT INTO admins VALUES(2, 'beijing', '13579')"
rake db:migrate

vi app\views\admins\index.rhtml
<h1>Listing admins</h1>

<% @table_data = [] %>
<% for admin in @admins %>
<% @table_data << [ admin.username, admin.password,
link_to('Show', admin_path(admin)),
link_to('Edit', edit_admin_path(admin)),
link_to('Destroy', admin_path(admin), :confirm => 'Are you sure?', :method => :delete)
] %>
<% end %>

<%= jmaki_widget 'yahoo.dataTable',
:args => {
:columns => [
{ :title => 'Usename', :width => 200, :locked => false },
{ :title => 'Password', :width => 75, :renderer => 'italic' },
{ :title => 'Show', :width => 60, :renderer => 'italic' },
{ :title => 'Edit', :width => 60, :renderer => 'italic' },
{ :title => 'Destroy', :width => 60, :renderer => 'italic' },
]
},
:value => @table_data
-%>

<br />
<%= link_to 'New admin', new_admin_path %>

ruby script\server


 (九)下载文件pdf:




________________________________________________________________ 您只要点击下面图标,就可以把本文加入到您喜欢的公共收藏库中去。
del.icio.us Digg | FURL | Yahoo! My Web 2.0 | Reddit | Blinklist | Fark

Posted in  | Tags , , ,

Rails框架技术讲座:数据库后台管理插件RailsMyAdmin

Posted by cnruby Tue, 31 Jul 2007 20:02:00 GMT

Rails框架技术讲座:数据库后台管理插件RailsMyAdmin

目录
 (一)系统环境:

  1. Ruby 语言 1.8.4版本, 点击这里Ruby1.8.4。要想安装多个Ruby语言运行环境请看这里
  2. Rails 框架 1.2.1版本,安装方法请看这里,最简单方法是第一种方法即可。
  3. Windows XP 或者 Windows 2000操作系统 或者 Linux操作系统
  4. 需要一个浏览器,如FireFox1.5.0.1以上版本。
  5. 开发编辑工具 Notepad2 ,安装方法请单击这里,复制一个notepad2.exe,并且更名为vi.exe。
  6. 在Windows XP上安装Linux核心命令,点击这里
  7. 如何在Windows Console下使用命令svn(下载软件),点击这里

 (二)前提条件:

  1. 在本机Winodw操作系统上,我们的工作目录为d:\works_rails。
  2. 你的电脑必须在线。

 (三)目的:

  1.  RailsMyAdmin是一个Rails框架软件的插件,它可以管理你的Rails框架软件数据库,注意不仅仅可以是MySQL数据库,也可以是其它的数据库。
  2. 本讲座的完整代码请您在Google Code Hosting上查看:
    http://cnruby.googlecode.com/svn/trunk/rails-projects/use_railsmyadmin
    或者下载
    svn co http://cnruby.googlecode.com/svn/trunk/rails-projects/use_railsmyadmin

 (四)解决方案:

  1. 创建一个Rails框架的应用软件,切换到软件的根目录。
    rails use_railsmyadmin
    cd use_railsmyadmin
  2. 修改数据库配置文件 database.yml :
    vi config/database.yml
    【具体内容如下:用下面的代码替换原文件的所有内容】
    development:
      adapter: mysql
      database: myadmin
      username: root
      password: root
      host: localhost

    test:
      development

    production:
      development
  3. 创建一个MySQL数据库myadmin
    mysqladmin -u root -proot create myadmin
  4. 自动生成一个基于模型Admin的相关代码,增加表admins的字段username和password,最后执行生成数据库表的命令。
    ruby script/generate scaffold_resource admin

    vi db/migrate/001_create_admins.rb
    【具体内容如下:放在create_table一行下面】
          t.column :username, :string
          t.column :password, :string

    rake db:migrate
  5. 第一步:安装RailsMyAdmin插件;第二步:生成应用于我们软件的代码;第三步:修改我们软件的环境配置文件。
    ruby script/plugin install http://railsmyadmin.googlecode.com/svn/trunk/my_admin/

    要是第一次安装失败,再使用下面命令执行。
    ruby script/plugin install --force http://railsmyadmin.googlecode.com/svn/trunk/my_admin/

    ruby script/generate my_admin

    vi config/environment.rb
    【具体内容如下:放在该文件最后】
    ## MY ADMIN CONFIG  BEGIN
    require 'my_admin/my_admin_tool'

    # If you only want certain models to be available to RailsMyAdmin,
    # set :all_models to false and specify the desired models in MY_ADMIN_MODELS
    MY_ADMIN_GLOBALS  = {:all_models => true, :confirm_destroy => false}

    # Uncomment the following line if you set :all_models to false above.
    #MY_ADMIN_MODELS = [User, Content]
    # Replace [User, Content] with your desired array of model classes that
    # RailsMyAdmin should be restricted to.

    # MY_ADMIN_AUTH must define a Proc object that takes as a paramater
    #   an ApplicationController instance variable (c - in the example below).
    # If you have a method defined in your ApplicationController,
    #   'admin_logged_in?' for example, the following sample code will
    #    authenticate against that method and only allow visitors to
    #    view RailsMyAdmin if the 'admin_logged_in?' method returns true.

    MY_ADMIN_AUTH     = Proc.new { |c| c.send('admin_logged_in?') }
    ## MY ADMIN CONFIG  END
  6. 启动网络服务器
    ruby script/server
  7. 再打开一个Shell,执行下面命令
    start http://localhost:3000/my_admin/main
  8. 我们看到该插件结果图:

 (五)视听教学:




 (六)必须注意的问题:




 (七)参考资料:




 (八)命令清单:

rails use_railsmyadmin
cd use_railsmyadmin

vi config/database.yml
development:
adapter: mysql
database: myadmin
username: root
password: root
host: localhost

test:
development

production:
development

mysqladmin -u root -proot create myadmin

ruby script/generate scaffold_resource admin
vi db/migrate/001_create_admins.rb
t.column :username, :string
t.column :password, :string
rake db:migrate

ruby script/plugin install http://railsmyadmin.googlecode.com/svn/trunk/my_admin/
ruby script/plugin install --force http://railsmyadmin.googlecode.com/svn/trunk/my_admin/
ruby script/generate my_admin
vi config/environment.rb
## MY ADMIN CONFIG BEGIN
require 'my_admin/my_admin_tool'

# If you only want certain models to be available to RailsMyAdmin,
# set :all_models to false and specify the desired models in MY_ADMIN_MODELS
MY_ADMIN_GLOBALS = {:all_models => true, :confirm_destroy => false}

# Uncomment the following line if you set :all_models to false above.
#MY_ADMIN_MODELS = [User, Content]
# Replace [User, Content] with your desired array of model classes that
# RailsMyAdmin should be restricted to.

# MY_ADMIN_AUTH must define a Proc object that takes as a paramater
# an ApplicationController instance variable (c - in the example below).
# If you have a method defined in your ApplicationController,
# 'admin_logged_in?' for example, the following sample code will
# authenticate against that method and only allow visitors to
# view RailsMyAdmin if the 'admin_logged_in?' method returns true.

MY_ADMIN_AUTH = Proc.new { |c| c.send('admin_logged_in?') }
## MY ADMIN CONFIG END

ruby script/server
start http://localhost:3000/my_admin/main


 (九)下载文件pdf:




________________________________________________________________ 您只要点击下面图标,就可以把本文加入到您喜欢的公共收藏库中去。
del.icio.us Digg | FURL | Yahoo! My Web 2.0 | Reddit | Blinklist | Fark

Posted in  | Tags , ,

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

Posted by cnruby Wed, 18 Jul 2007 18:53:00 GMT

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

  • 前提
    1. 分页技术插件will_paginate
    2. 基于Console使用本地化插件gibberish
    3. 基于网络服务器使用本地化插件gibberish
  • 问题提出
    在该插件中页面主要存在Previous和Next两个单词,这是我们想主要中文化的内容。事情并不是那么简单,因为我们一是从技术上不能简单在插件中把这两个词改成中文;二是要是我们需要多种文字时有该如何办呢;三是即使去修改插件好像也有点麻烦。
  • 实施方案
    使用上面的相关资料,在Rails框架的文件app/helpers/application_helper.rb中增加下面的方法就可以了,当然还要在文件lang/zh.yml文件中增加中文!但是在页面应用时,使用方法xwill_paginate。
      def xwill_paginate entries = @entries
        will_paginate entries,
                      :prev_label => "No TRANSLATION: Previous"[:Previous],
                      :next_label => "No TRANSLATION: Next"[:Next]
      end
  • 实施结果



________________________________________________________________ 您只要点击下面图标,就可以把本文加入到您喜欢的公共收藏库中去。
del.icio.us Digg | FURL | Yahoo! My Web 2.0 | Reddit | Blinklist | Fark

Posted in  | Tags , , ,

Older Posts

Older Posts: 1 2 3 ... 24