0

用于从 .txt 文件加载种子数据时,我面临 load_offline_data 问题

我的代码将如下所示:

> def initialize
>     Rho::RHO.load_all_sources()
>     products = Product.find(:all)
>     Rho::RhoUtils.load_offline_data(['products'], 'db')   end

在 db/fixtures/products.txt

source_name|attrib|object|value
Product|name|1|product 1| Product|order_id|1|1|

Product|name|2|product 2|
Product|order_id|2|2|

我收到这样的错误:

应用程序初始化失败:#source_id' for nil:NilClass>;Trace: lib/rho/rhutils.rb:71:inblock (3 levels) in load_offline_data'

任何人都可以帮助我..

提前致谢 !

4

1 回答 1

0

斯里,我不得不手动要求“rho/rhutils”。

为了避免 source_id 错误,我不得不调用 Rhom::Rhom.database_full_reset(true, true)。因为这会在每次应用程序初始化时重置数据库,所以我包括了一个检查我的树表是否已经填充的警卫。

require 'rho/rhoapplication'
require 'rho/rhoutils'

class AppApplication < Rho::RhoApplication
  def initialize
    # Tab items are loaded left->right, @tabs[0] is leftmost tab in the tab-bar
    # Super must be called *after* settings @tabs!
    @tabs = nil
    #To remove default toolbar uncomment next line:
    #@@toolbar = nil
    super

    if Tree.find_all.empty?
      Rhom::Rhom.database_full_reset(true, true)
      Rho::RhoUtils.load_offline_data(['object_values'], '')
    else
      puts "*"*80
      puts "ALL GOOD"*5
      puts "*"*80
    end

    # Uncomment to set sync notification callback to /app/Settings/sync_notify.
    # SyncEngine::set_objectnotify_url("/app/Settings/sync_notify")
    # SyncEngine.set_notification(-1, "/app/Settings/sync_notify", '')
  end
end
于 2012-06-02T19:17:16.433 回答