美文网首页
ROR学习笔记(25)——rails中的initializers

ROR学习笔记(25)——rails中的initializers

作者: kamionayuki | 来源:发表于2015-05-26 20:24 被阅读153次

    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
    

    重启服务器后,就可以在modelcontroller中调用这两个方法。
    controller中可以写:

    def mymethod
        customers = Customer.all
        send_data(customers.to_cvs)
    end
    

    相关文章

      网友评论

          本文标题:ROR学习笔记(25)——rails中的initializers

          本文链接:https://www.haomeiwen.com/subject/jtyrqttx.html