rails项目中的config/initializers
文件夹有很多文件,这些文件是在服务器启动时加载的文件,所以可以利用这个特性,增加一些初始的内容。比如这样:
要为ActiveRecord::Relation
类增加一个to_cvs
的方法,以及为ActiveRecord::Base
类增加一个to_txt
的方法。
可以在config/initializers
文件夹下新增一个 myinit.rb
文件,内容如下:
class ActiveRecord::Relation
def to_cvs
inject("") { |result,record| result += record.to_txt }
end
end
class ActiveRecord::Base
def to_txt
result = attributes
result["created_at"] = result["created_at"].strftime("%Y-%m-%d %H:%M:%S")
result["updated_at"] = result["updated_at"].strftime("%Y-%m-%d %H:%M:%S")
result.values.join(",") + "\n"
end
end
重启服务器后,就可以在model
和controller
中调用这两个方法。
controller中可以写:
def mymethod
customers = Customer.all
send_data(customers.to_cvs)
end
网友评论