0 0

rails中 model里的两个类有继承关系 如何来处理ORM衍射数据库呢?10

详细说明:
model类
class Resource < ActiveRecord::Base;end
class Operation < Resource ; end
class Mod < Resource; end

migrate类
class CreateResources < ActiveRecord::Migration
  def self.up
    create_table :resources do |t|
      t.string :name , :limit => 32
      t.integer :sortno
      t.boolean :visiabled
      t.text :remark
      t.string :type , :limit => 32
     
      t.integer :parent_id
    end
  end
  def self.down
    drop_table :resources
  end
end

class CreateOperations < ActiveRecord::Migration
  def self.up
    create_tableperations do |t|
      t.string :sn , :limit => 32
      t.string :icon, :limit => 32
      t.string :tip, :limit => 32
      t.boolean :show_text
      t.boolean :admin_op

    end
  end

  def self.down
    drop_tableperations
  end
end

class CreateMods < ActiveRecord::Migration
  def self.up
    create_table :mods do |t|
      t.text :link, :limit => 500
      t.string :type , :limit => 32
      t.text :icon, :limit => 500

    end
  end

  def self.down
    drop_table :mods
  end
end

原先rake的时候 生成的Operation 和Mod  都是继承自ActiveRecord::Migration
后来我要求这两个类必须继承Resource 的一些属性(在数据库中没有相应的字段衍射)
如何来设置呢? 我开始考虑过用-糅和(Mix-in) 与多重继承来实现,但是后面的ActiveRecord::Migration
是个实体类并不是模块~ 急 麻烦啊~ 希望各位有想法的可以提议一下~ 或者是更好的解决方案,多谢了
2008年6月11日 16:46

1个答案 按时间排序 按投票排序

0 0

单表继承,3个类共用一个数据表

2008年6月11日 17:19

相关推荐

    Ruby-MongoModel针对MongoDB的RubyORM框架兼容Rails3

    在Ruby on Rails框架中,ORM(对象关系映射)框架如ActiveRecord允许开发者以面向对象的方式处理数据库操作,而无需直接编写SQL语句。MongoModel作为针对MongoDB的ORM,同样提供了这种便利性,但适应了文档数据库的...

    rails查询学习笔记

    在Rails中,数据库查询主要通过ActiveRecord来实现,这是一个强大的ORM(对象关系映射)工具,能够将数据库表与Ruby类关联,简化数据操作。 描述中虽然没有具体信息,但我们可以推测这可能是一篇关于Rails中查询...

    Ruby on Rails中文指南

    Ruby on Rails使用ActiveRecord,一个ORM(对象关系映射)库,使得与数据库交互变得简单。你可以通过定义类和方法来创建、更新、查询数据。 3. **视图(Views)**:视图负责呈现用户界面。它们通常由HTML、CSS和...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    rails指南 中文版

    1. **ActiveRecord**:这是Rails框架中的ORM(Object-Relational Mapping)组件,它负责处理数据库操作。通过ActiveRecord,开发者可以使用面向对象的方式来操作数据,而无需编写SQL语句。 2. **ActionController**...

    Go-golang的ORM除了mysql未做其他数据库的兼容

    在Go语言中,ORM(Object-Relational Mapping)框架是一种将数据库操作转化为对对象的操作的工具,它使得开发者可以使用面向对象的方式来处理数据库,而无需过多关注底层SQL语句的编写。`dorm`是Go-golang的一个ORM...

    rails和mysql数据库连接中出现的问题以及解决办法

    在开发Web应用时,Rails框架和MySQL数据库的集成是一个常见的选择。然而,有时在尝试连接Rails应用到MySQL数据库时,可能会遇到一些问题。本篇文章将深入探讨这些常见问题及其解决方案。 首先,Rails与MySQL的连接...

    RailsGuides中那个blog程序源码

    在Rails中,**模型(Model)** 负责处理数据和业务逻辑,通常与数据库交互。在这个"blog"程序中,可能会有一个`Post`模型来代表博客文章,包含了如标题、内容、作者等属性,并提供相关的操作,如创建、更新、删除...

    中文版rails教程

    在Ruby on Rails中,开发者可以快速构建功能丰富的动态网站,因为它提供了大量的内置功能和库,如数据库连接、ORM(对象关系映射)系统ActiveRecord、模板引擎ActionView以及路由系统ActionController等。...

    《web开发敏捷之道 应用rails进行敏捷web开发》(第一版)的depot源代码

    3. **ActiveRecord**:Rails中的ActiveRecord是ORM(对象关系映射)库,它允许开发者用Ruby类和对象直接操作数据库,简化了数据库交互。 4. **路由**:Rails的路由系统是连接URL与控制器动作的桥梁,定义了URL模式...

    Ruby on Rails实例开发

    SQLite是一个轻量级的嵌入式数据库,常用于Rails开发中的开发和测试环境。它的优点在于无需独立服务器进程,直接在应用进程中运行,便于快速搭建和测试数据库驱动的应用。在Rails中,通过ActiveRecord可以轻松地进行...

    应用Rails进行敏捷Web开发中文第三版

    Rails的核心组件包括ActiveRecord,这是一个对象关系映射(ORM)系统,使得Ruby类可以直接与数据库表交互。在Rails 2.2.2中,ActiveRecord提供了强大的查询API,允许开发者用简洁的代码执行复杂的数据库操作。此外,...

    rails2.3.2

    1. Active Record:这是 Rails 的 ORM(对象关系映射)层,负责处理数据库交互。在这一版本中,Active Record 提供了更强大的查询接口,包括 SQL 方法的集成和更灵活的关系管理。 2. Action Pack:包含了 MVC 架构...

    Ruby+for+Rails

    Rails的ORM(对象关系映射)层,允许开发者用Ruby对象操作数据库。每个模型类对应数据库表,实例方法对应SQL查询。例如,`Book.find_by(title: '某书名')`会查找标题为指定值的书籍。 9. ** erb模板** ERB...

    Ruby on Rails入门经典代码

    Ruby on Rails,简称Rails,是基于Ruby语言的一个开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习...

    Ruby-ActsAsTennant通过一个共享数据库的策略来为一个Rails应用添加多租户支持

    标签“Ruby开发-ORM/ODM框架”表明 Acts As Tenant 是一个对象关系映射(ORM)或对象数据映射(ODM)工具,用于在Ruby开发中处理数据库交互。ORM允许开发者用面向对象的方式操作数据库,而无需关注底层SQL语句,简化...

    好用的rails 2.0 Api 文档

    在Rails 2.0中,Active Record是ORM(对象关系映射)的一部分,它使得Ruby类可以直接与数据库表进行交互。每个Active Record类都代表一个数据库表,类的实例对应表中的行,类的属性对应列。Active Record提供了许多...

    Ruby on Rails 教程 - 201406

    Rails的ActiveRecord是ORM(对象关系映射)库,使得Ruby类可以直接映射到数据库表,简化了数据库操作。例如,一个名为`User`的类可以对应数据库中的`users`表,通过ActiveRecord的查询语法,可以轻松进行CRUD(创建...

    railsAPI

    在Rails API中,模型(Model)代表应用程序的数据结构,它与数据库交互,处理数据验证和业务逻辑。视图(View)是用户看到和与之交互的部分,而控制器(Controller)作为模型和视图之间的协调者,处理用户请求并决定...

    ruby on rails 2.3.5 api html版

    3. **ActiveRecord**:这是Rails用于数据库交互的ORM(对象关系映射)库。它允许开发者使用Ruby代码操作数据库,无需编写SQL语句。 4. **路由(Routing)**:Rails的路由系统将URL请求映射到控制器的行动上,定义了...

Global site tag (gtag.js) - Google Analytics