`
wuhuizhong
  • 浏览: 682747 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

Compass Agile Enterprise Framework

 
阅读更多

设置:
1.Gemfile
gem 'erp_agreements', :path => '../compass_agile_enterprise/erp_agreements'
gem 'erp_txns_and_accts', :path => '../compass_agile_enterprise/erp_txns_and_accts'
gem 'erp_commerce', :path => '../compass_agile_enterprise/erp_commerce'
gem 'erp_products', :path => '../compass_agile_enterprise/erp_products'
gem 'erp_orders', :path => '../compass_agile_enterprise/erp_orders'
gem 'erp_inventory', :path => '../compass_agile_enterprise/erp_inventory'   

2.routes.rb
  mount ErpProducts::Engine => '/erp_products'

3.RailsDBAdmin
Tables: applications => Production Manager

运行:
1.ActionController::RoutingError (No route matches [POST] "/erp_products/erp_app/desktop/product_manager/new"):
处理:routes.rb需设置
  mount ErpProducts::Engine => '/erp_products'
 
2.NameError (uninitialized constant ErpProducts::ErpApp::Desktop::ProductManager::BaseController::InventoryEntry):
处理:Gemfile需设置
gem 'erp_inventory', :path => '../compass_agile_enterprise/erp_inventory'

3.NoMethodError (undefined method `number_available' for nil:NilClass):
处理:inventory_entries 和 product_type 必须有一对一的数据。

4.NoMethodError (undefined method `url' for #<Image:0xb793ac8>):
处理:无ProductType.all.collect.images.first.url (table:file_assets无url栏位)
/compass_agile_enterprise/erp_products/app/controllers/erp_products/erp_app/desktop/product_manager/base_controller.rb

          def index
            products = ProductType.all.collect do |product_type|
              {
                :id => product_type.id,
                :title => product_type.description,
                :imageUrl => product_type.images.empty? ? '/images/img_blank.png' : product_type.images.first.directory+'/'+product_type.images.first.data_file_name,
                :price => product_type.get_current_simple_amount_with_currency.nil? ? 'no price set' : product_type.get_current_simple_amount_with_currency,
                :available => product_type.inventory_entries.first.number_available,
                :sold => product_type.inventory_entries.first.number_sold,
                :sku => product_type.inventory_entries.first.sku.nil? ? '' : product_type.inventory_entries.first.sku
              }
            end

            render :json => {:products => products}
          end
         
          def images
            data = {:images => []}
            product_type = ProductType.find(params[:id])

            product_type.images.each do |image|
              data[:images] << {:id => image.id, :name => image.name, :shortName => image.name, :url => image.directory+'/'+image.data_file_name}#image.url}
            end

            render :json => data
          end
          
 

Database 為 Oracle 時遇到的問題處理方法:

 

1.Index name 'contact_purposes_contacts_index' on table 'contact_purposes_contacts' is too long; the limit is 30 characters
原因: 索引名稱太長.
修改: 20080805000020_base_erp_services.rb
改前: add_index :contact_purposes_contacts, [:contact_id, :contact_purpose_id], :name => "contact_purposes_contacts_index"
改後: add_index :contact_purposes_contacts, [:contact_id, :contact_purpose_id], :name => "contact_purposes_index"

2.identifier is too long: CREATE TABLE "CURRENCIES" ("ID" NUMBER(38) NOT NULL PRIMARY KEY, "NAME" VARCHAR2(255), "DEFINITION" VARCHAR2(255), "INTERNAL_IDENTIFIER" VARCHAR2(255), "NUMERIC_CODE" VARCHAR2(255), "MAJOR_UNIT_SYMBOL" VARCHAR2(255), "MINOR_UNIT_SYMBOL" VARCHAR2(255), "RATIO_OF_MINOR_UNIT_TO_MAJOR_UNIT" VARCHAR2(255), "POSTFIX_LABEL" VARCHAR2(255), "INTRODUCTION_DATE" DATE, "EXPIRATION_DATE" DATE, "CREATED_AT" DATE, "UPDATED_AT" DATE)
原因: 資料表欄位:ratio_of_minor_unit_to_major_unit 太長
修改: 20080805000020_base_erp_services.rb
改前: t.string    :ratio_of_minor_unit_to_major_unit
改後: t.string    :ratio_of_minor_unit

3.OCIError: ORA-02327: cannot create index on expression with datatype LOB: CREATE  INDEX "INDEX_NOTES_ON_CONTENT" ON "NOTES" ("CONTENT")
原因: LOB類型欄位不能建索引.
修改: 20080805000020_base_erp_services.rb
取消: add_index :notes, :content

4.OCIError: ORA-00972: identifier is too long: CREATE TABLE "PREFERENCE_OPTIONS_PREFERENCE_TYPES" ("PREFERENCE_TYPE_ID" NUMBER(38), "PREFERENCE_OPTION_ID" NUMBER(38), "CREATED_AT" DATE, "UPDATED_AT" DATE)
原因: 資料表名稱太長
修改: 20080805000096_base_app_framework.rb
改前:

    unless table_exists?(:preference_options_preference_types)
      create_table :preference_options_preference_types, {:id => false} do |t|
        t.references :preference_type
        t.references :preference_option

        t.timestamps
      end

      add_index :preference_options_preference_types, :preference_type_id, :name => 'pref_opt_pref_type_pref_type_id_idx'
      add_index :preference_options_preference_types, :preference_option_id, :name => 'pref_opt_pref_type_pref_opt_id_idx'
    end

 


改後:

    unless table_exists?(:preference_options_types)
      create_table :preference_options_types, {:id => false} do |t|
        t.references :preference_type
        t.references :preference_option

        t.timestamps
      end

      add_index :preference_options_types, :preference_type_id, :name => 'pref_opt_pref_type_id_idx'
      add_index :preference_options_types, :preference_option_id, :name => 'pref_opt_pref_opt_id_idx'
    end   
 

 
5.OCIError: ORA-00972: identifier is too long: INSERT INTO "PREFERENCE_OPTIONS_PREFERENCE_TYPES" ("PREFERENCE_TYPE_ID", "PREFERENCE_OPTION_ID") VALUES (10002, 10000)
參考: http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-has_and_belongs_to_many
原因: 需指定中間表名稱.
修改: Application-Stack---Suite\erp_app\app\models\preference_option.rb
  has_and_belongs_to_many :preference_type, :join_table => 'preference_options_types'
修改: Application-Stack---Suite\erp_app\app\models\preference_type.rb
  has_and_belongs_to_many :preference_options, :join_table => 'preference_options_types'

 

分享到:
评论

相关推荐

    compass-2.2.0+hibernate-3.2+struts-2.1.8.1+spring-framework-2.5.4

    标题 "compass-2.2.0+hibernate-3.2+struts-2.1.8.1+spring-framework-2.5.4" 指的是一个集成开发环境,它结合了四个关键的技术组件:Compass、Hibernate、Struts 2 和 Spring Framework,这些都是Java Web开发中的...

    compass完整可用项目

    【compass完整可用项目】是一个基于特定技术栈的软件开发项目,该项目的核心是Compass库,一个与Lucene紧密集成的全文搜索引擎工具。Compass提供了一种简单的方式来在Java应用程序中集成全文搜索功能,使得开发者...

    compass教程.pdf

    COMPASS 教程Pdf COMPASS 是一款专业的油气田设计和生产软件,主要用于油气田的规划、设计和生产过程。下面是 COMPASS 的一些重要知识点: 1. COMPASS WELLPLAN FOR WINDOWS 功能简介:COMPASS 的核心功能包括 ...

    mongodb安装包和compass

    Compass是MongoDB的官方图形界面工具,它提供了一个用户友好的界面,用于可视化数据库和集合,帮助开发者和管理员进行数据探索、查询构建、性能分析以及基本的数据库管理。通过Compass,用户可以轻松地浏览和操作...

    compass搜索引擎技术

    Compass搜索引擎技术是一种基于Lucene的全文检索框架,它提供了更高级别的API和集成机制,使得在Java应用程序中实现搜索引擎功能变得更加便捷。Compass的主要目标是将全文索引能力无缝地融入到现有的业务应用程序中...

    compass_使用详解.pdf compass_教程 compass_试用案例

    ### Compass 使用详解 #### 一、Compass 概述 Compass 是一款开源的 Java 库,用于简化 Lucene 的使用。它通过提供类似于 Hibernate 的对象关系映射(ORM)功能,使得开发者能够更加轻松地将 Java 对象映射到 ...

    Compass技术文档

    - **Compass框架**:可以通过访问官方网站 [http://www.compassframework.org/](http://www.compassframework.org/) 下载Compass框架及其相关jar包。 #### 四、使用流程 使用Compass的过程主要包括以下几个步骤: ...

    mongodb compass1.15.1官网版 免安装直接使用

    MongoDB Compass是MongoDB官方提供的一款图形化管理工具,它为MongoDB数据库的使用者提供了直观的界面,方便进行数据浏览、查询、操作以及性能分析。MongoDB Compass 1.15.1是这个系列的一个版本,它无需安装,可以...

    java搜索 compass资料

    ### Java搜索 Compass 资料知识点 #### 一、Compass 概述 Compass 是一个为 Java 应用程序提供全文检索功能的框架。它能够帮助开发者在 Java 应用程序中轻松实现复杂的搜索需求,并且具有较高的性能。Compass 基于...

    Compass 的java代码

    **Compass:Lucene的高级封装工具** Compass是一款基于Apache Lucene的全文搜索引擎库,它为Java开发者提供了一个高级的、易于使用的搜索框架。在Java应用中集成搜索引擎功能时,Compass提供了一种简化的方式来管理...

    compass annotation关联关系

    Compass 是一个全文搜索引擎库,它是对 Lucene 的封装,为 Java 应用提供了一种简单易用的接口。在 Compass 中,Annotation 是一种元数据注解方式,它允许开发者在对象模型上直接定义搜索映射,使得对象与索引之间的...

    Compass原理深入学习笔记

    【Compass原理深入学习笔记】 Compass是一款基于Apache Lucene的全文搜索引擎框架,它为开发者提供了更高级别的抽象层,简化了搜索引擎的集成工作。在理解Compass之前,我们需要先了解全文检索的基本概念和原理。 ...

    Compass全文检索系列之一:Compass入门

    Compass全文检索系列之一:Compass入门 在IT领域,全文检索已经成为数据分析和信息检索的重要技术,尤其是在大数据时代。本文将介绍Compass,一个基于Lucene的全文搜索引擎库,为Java开发者提供了一种简单易用的...

    mongodb-compass-1.17.0-win32-x64 MongoDB可视化工具Compass

    MongoDB Compass是MongoDB公司开发的一款强大的图形化管理工具,专为MongoDB数据库设计,用于帮助用户更加直观地理解和操作NoSQL数据库。本压缩包文件"mongodb-compass-1.17.0-win32-x64"包含了适用于Windows 32位和...

    compass的几个入门网页

    Compass是一个基于Sass的CSS预处理器框架,它极大地扩展了CSS的功能,使得开发者能够更加高效、优雅地编写样式表。下面将详细讲解Compass的基本概念、安装过程、主要功能以及如何通过它来构建入门级的网页项目。 一...

    基于Luncene的compass框架详解-java

    基于Lucene的Compass框架详解-Java 一、Compass框架概述 Compass是一个高性能的开源Java搜索引擎框架,旨在简化应用程序与搜索引擎之间的集成过程。它不仅利用了顶级的Lucene搜索引擎的强大功能,还融合了诸如...

    compass-2.2.0.zip

    Compass 2.2.0 是一个开源的Java搜索引擎框架,它的出现是为了简化与Apache Lucene的交互,为开发者提供了一种更为高级和抽象的API。Lucene是Apache软件基金会的一个项目,它是一个高性能、全文本搜索库,但是直接...

    完整compass工程+建库sql+学习资料

    Compass和Lucene是两个在Java世界中非常重要的搜索引擎框架,它们在处理文本检索和全文索引方面具有强大的功能。这个压缩包包含了一个完整的Compass工程,MySQL的建库SQL脚本,以及相关的学习资料,非常适合想要深入...

    前端开源库-compass-mixins

    Compass Mixins 是一个非常重要的前端开发工具,尤其在 Sass(Syntactically Awesome Style Sheets)环境中,它极大地提升了CSS编写效率和代码复用性。这个开源库为开发者提供了丰富的预定义混合(mixins),帮助...

Global site tag (gtag.js) - Google Analytics