`
lanbing325
  • 浏览: 26283 次
  • 性别: Icon_minigender_2
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

jruby on rails学习笔记

阅读更多

安装:

jruby -S gem install rails mongrel jdbc-mysql activerecord-jdbcmysql-adapter
这一步是安装几个必须 的gem包,gem包在java中类似于jar  
mongrel 包是一个类似于tomcat的服务器
jdbc-mysql activerecord-jdbcmysql-adapter这几个是用于连接mysql数据库的适配器,有了它才能连接msyql数据库。
执行jruby -S gem list 这个命令用来查看装了哪些gem包


安装warbler gem工具,用来打包成war包
jruby -S gem install -y jruby-openssl warbler
是这样的:在rails工程的根目录运行
jruby -S warble config
jruby -S warble war
jruby -S warble pluginize
jruby -S warble war:aot

 修改config/database.yml adapter: jdbcmysql  adapter表示是数据库的连接适配器

创建rails工程
jruby -S rails myapp -d mysql 这一步是创建名为myapp的rails工程项目

进入所创建工程myapp目录
jruby -S script/generate scaffold post title:string content:string
jruby -S rake db:create:all
jruby -S rake db:migrate
jruby -S script/server
http://localhost:3000/posts

注:由于在jruby中,执行rake db:create:all本应该是创建三个环境的三个数据库的(myapp_development,myapp_test,myapp_production)
不过jruby中有个bug,它只创建了两个数据库,没有development这个数据库
所以你将config/database.yml文件中关于development那部分的数据库配置中的数据库名改为myapp_production,或自己手动创建一个myapp_development的数据库。
 三个环境可以自由切换,jruby -S script/server -e production 这样就是以上线环境来启动的,那么它用的就是production配置中的数据库

 

关联:
has_many :一对多,
belongs_to:多对一

多对多的关系是对称的关系,两个连接的表都互相使用has_and_belongs_to_many来声明它们之间的关系。在数据库中,多对多关联是使用中间连接表来实现的。它包含一对外键连接两个目标表。Active Record假定这个连接表的名字是两个目标表名以字母顺序串联起来。连接表categories和表products,Active Record会去找一个名为categories_products的连接表。

创建连接表

jruby -S   script/generate migration create_categories_products

# in migration   

 class CreateCategoriesProducts< ActiveRecord::Migration
     def self.up
        create_table :categories_products, :id  => false do |t|
      t.column :category_id, :integer

      t.column :product_id, :integer 

        end
    end
    def self.down
    end
end

# models/product.rb  
has_and_belongs_to_many :categories  
  
# models/category.rb  
has_and_belongs_to_many :products 

 

增加字段:
jruby -S  script/generate migration add_category_id_to_articles
在文件中这样写
  def self.up
    add_column :articles, :article_category_id, :integer
  end

还有要注意的就是用jruby on rails 开发程序的时候路径一定要使用rails的生成方式,否则就会出现路径问题!

备注:root_url是服务器地址,RAILS_ROOT常量获得的项目物理地址

TINYINT   就是MySql   中的   Boolean.    可以定义为   intyint(1)  

 

MySql   5.0   以后就有   Boolean   类型了.

 

分享到:
评论

相关推荐

    jRuby On Rails WEB2.0

    《jRuby on Rails WEB2.0》:将Ruby on Rails融入Java...通过本书的学习,读者不仅能够掌握jRuby on Rails的理论知识,还能通过实践掌握如何在实际项目中应用这一技术,从而提升个人技能,推动企业应用的创新与发展。

    Apress - Practical JRuby on Rails Web 2.0 Projects (Sep 2007)

    《JRuby on Rails Web 2.0 实用项目》 英文PDF + 源码

    JRuby on Rails Web 2.0 Projects

    ### JRuby on Rails Web 2.0 Projects:将Ruby on Rails引入Java平台 #### JRuby简介 JRuby是一种Ruby语言的实现,它运行在Java平台上,利用了Java虚拟机(JVM)的强大功能。JRuby使得开发人员能够在Java环境中使用...

    Code Review&JRuby on Rails

    《Code Review & JRuby on Rails》是一篇深入探讨代码审查与...通过学习这些内容,读者不仅可以了解如何有效地进行代码审查,还能掌握如何利用JRuby将Ruby on Rails的魅力引入到Java世界,从而提升开发效率和产品质量。

    Netbeans 6.0 JRuby on Rails 演示

    Netbeans 6.0 JRuby on Rails demo

    Netbeans 6.0 JRuby on Rails 演示 .swf

    Netbeans 6.0 JRuby on Rails 演示 .swf

    jruby_on_rails

    【JRuby on Rails:简介】 JRuby on Rails 是一个基于 JRuby 实现的 Ruby on Rails 框架的版本,允许开发者在 Java 平台上利用 Rails 的强大功能进行 web 应用开发。Ruby on Rails(简称 Rails)是由 David ...

    JRuby和Rails-让Ruby语言融入于Java项目.rar

    7. **社区和工具**:列出相关的开源库、插件和工具,以及JRuby和Rails社区资源,帮助开发者获取进一步的学习和支持。 8. **最佳实践**:提供在Java环境中使用JRuby和Rails的最佳实践,指导开发者遵循最佳的设计和...

    2009 KungFu Rails大会JRuby演讲PPT

    KungFu Rails大会是一个专注于Ruby on Rails技术的活动,而JRuby则是Ruby的一个重要实现,它允许开发者在Java平台上运行Ruby代码,从而利用Java的生态系统。 首先,JRuby是一个开源的、符合Ruby语言规范的实现,由...

    heroku-jruby-rails-4

    **Rails 4** 是 Ruby on Rails 框架的一个版本,这是一个流行的、用于构建 Web 应用的 MVC(模型-视图-控制器)框架。Rails 4 引入了许多新特性和改进,如 Action Cable(支持实时通信)、Strong Parameters(强化...

    jruby-lab:JRuby的实验室是jruby内容的存储库。 带有示例和参考

    JRuby的主要传播网站- Wiki和文章一点JRuby历史 JRuby Wiki以及开始使用JRuby进行学习的方式 JRuby on Rails的Wiki部分 有关在JRuby中进行编程需要什么的文章 该参考资料显示了从Ruby类到Java类的转换 JSR-292和...

    结合使用 Oracle 和 Ruby on Rails 教程

    【标题】:“结合使用 Oracle 和 Ruby on Rails 教程” 在 IT 领域,数据库管理和Web开发是两个至关重要的方面。Oracle 是一款强大的关系型数据库管理系统,而 Ruby on Rails(简称 Rails)则是一个流行的开源Web...

    theine:用于JRuby的Rails预加载器(类似于Zeus,Spring和Spork)

    咖啡碱 当前由rwilliams维护 Theine是设计用于JRuby的Rails应用程序预加载器。 它类似于Zeus,Spring和Spork。 Zeus和Spring的问题在于它们使用了在JRuby上不起作用的`fork'。 time rails runner "puts Rails.env"48...

Global site tag (gtag.js) - Google Analytics