从外部脚本向数据库添加记录的最佳方法是什么?我想使用activerecord,但我不确定如何在rails目录结构之外这样做.
你可以在ruby中使用activerecord.假设您已安装所需的数据库驱动程序.你可以做类似的事情
require 'activerecord' ActiveRecord::Base.establish_connection( :adapter => 'your_database_adapter', :host => 'your_host', :username => 'username' :password => 'password', :port => 'port_number' )
建立数据库连接.由于您要将记录添加到数据库,因此我假设架构已存在.然后你就做了
class ModelName < ActiveRecord::Base has_many :modelz end class Modelz < ActiveRecord::Base belongs_to :model_name end
你就定了.(多数民众赞成在建立数据库连接后,您可以使用活动记录在rails中执行所有操作,甚至可以在模型之间建立关系)您可以使用刚刚创建的模型类的对象执行任何操作.喜欢,
ModelName.find(:all) @model = ModelName.new @model.user_id = rand(10) @model.save
等等
如果您没有架构,请不要惊慌.您可以通过在建立数据库连接后将代码simlar嵌入到以下来创建它.
ActiveRecord::Schema.define do create_table :sometable do |table| table.integer :int1, :int2 table.string :str1, :str2 end create_table :yetanothertable do |table| table.integer :anotherint table.text :sometext end end
这应该工作正常.这里给出的代码是一个示例,可能在语法上不完美.这也应该有所帮助.但是,架构定义是以较旧的rails方式完成的.