论坛首页 编程语言技术论坛

我新写的一个.rb文件怎么loadrails的环境

浏览 3003 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-04-04  
我想在script下面加一些脚本里面类似
require '类似railsenv'
User.create(:name=>ARGV[0])

的调用,用来操作rails的各个 model 类,要怎么实现,各位老大们?

我参看了script/console的代码 好像光
require File.dirname(__FILE__) + '/../config/boot'


不行
   发表时间:2007-04-04  
require 'active_record'

ActiveRecord::Base.establish_connection(
  :adapter => 'mysql',
  :host => 'database',
  :database => 'xxx',
  :username => 'xxx',
  :password => 'xxx',
  :encoding => 'utf8'
)

class User < ActiveRecord::Base
end

...
0 请登录后投票
   发表时间:2007-04-04  
谢谢robbin,这个是 rails书上的方法,俺原来用过

但是我的库有很多个数据库连接,而且model之间的多对多关系也比较繁多,不想全部在这个文件里面重新定义一次!

0 请登录后投票
   发表时间:2007-04-04  
恩,自己弄半天,也算搞定了
在 script 目录下我新建一个.rb文件

包含下面两句

require File.dirname(__FILE__) + '/../config/boot'
require '../config/environment'


也就是吧boot.rb 和environment.rb加载进来, 所有的类都有了
顺便贴一下我写的给外部调用的脚本

传入参数 项目名称 和 内容

实现对项目组所有成员群发gtalk消息的效果,还是满爽的



require File.dirname(__FILE__) + '/../config/boot'
require '../config/environment'
require 'xmpp4r-simple'
im = Jabber::Simple.new("your_notify@gmail.com","passhere")
sleep(3)
if im.connected?
  project = Project.find_by_name(ARGV[0])
  content = Iconv.iconv("UTF-8","GB2312",ARGV[1])
  unless project==nil
    project.users.each {|notifiyee| im.deliver(notifiyee.gmail,content)}
  end
end
im.disconnect
    
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics