rails項(xiàng)目中的config/initializers
文件夾有很多文件,這些文件是在服務(wù)器啟動時(shí)加載的文件,所以可以利用這個特性,增加一些初始的內(nèi)容。比如這樣:
要為ActiveRecord::Relation
類增加一個to_cvs
的方法殿遂,以及為ActiveRecord::Base
類增加一個to_txt
的方法。
可以在config/initializers
文件夾下新增一個 myinit.rb
文件乙各,內(nèi)容如下:
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
重啟服務(wù)器后墨礁,就可以在model
和controller
中調(diào)用這兩個方法。
controller中可以寫:
def mymethod
customers = Customer.all
send_data(customers.to_cvs)
end