• 主要是怕失控吧。。。

    你这个主意不错。

    之前想过的一个方案是用一个专门的bucket只存静态文件,定期全部清理下,殊途同归。不过我觉得hack下remove方法已经够简单了。

  • 回源没办法处理 清理的 静态资源文件。如果频繁部署,就会在七牛上产生越来越多的垃圾文件。

    这个问题有好的解决方案么? 七牛提供的倒有个文件同步工具,不过一堆bug。

  • 我做过七牛的。 可以扩展下 sprockets 的 exporter

    文档:https://github.com/rails/sprockets/blob/master/guides/extending_sprockets.md#exporters

    示例代码:

    require 'sprockets/exporters/base'
    
    # Writes a an asset file to Qiniu
    class QiniuExporter < Sprockets::Exporters::Base
    
      def skip?(logger)
        if Sprockets.config[:sync].to_s == 'qiniu'
          logger.info "==> To Upload to Qiniu: #{ target }"
          false
        else
          true
        end
      end
    
      def call
        QiniuHelper.upload target, 'assets/' + asset.digest_path.to_s
      end
    
    end
    
    Sprockets.register_exporter '*/*', QiniuExporter
    

    针对remove文件的:

    require 'sprockets/manifest'
    
    module NonDigestAssets
    
      def remove(filename)
        super
    
        if Sprockets.config[:sync].to_s == 'qiniu'
          QiniuHelper.delete 'assets/' + filename.to_s
          logger.info "--> Removed from Qiniu: #{ filename }"
        end
      end
    
    end
    
    Sprockets::Manifest.send(:prepend, NonDigestAssets)
    

    然后正常的 rake assets:precompile 和 rake assets:clean 就可以同步assets的变动了。

  • alipay gem 的一些问题 at 2017年5月06日

    没有。我clone过rei这个修改过,没有弄完,近期没有支付需求要做。你可以先clone下来自己改改,或者将就用用支付宝废弃的接口。

  • alipay gem 的一些问题 at 2017年5月06日

    Alipay的接口已经大面积更新,这个gem稍显落后

  • 长见识了,哈哈

  • 哈哈,没用过1.8,我是从1.9.3开始接触ruby的

  • 我自动获取的action信息 存到一个表里,然后是可以编辑的,也可以删除和再增量自动获取。

    • 也可以支持多个action组合的,rule记录成[action1, action2]
    • 也支持参数列表。

    section/action 列表。section 对应controller,rule对应action

    rule编辑:

    可以做到增加actions/controller后不用改一行代码,在ui里配置下就行了。

  • 对啊,ruby在这方面做的很好啊,又没有break change

  • 我也写过这样一个rails engine,实现了:

    • action MVC架构中,设定访问controller action权限。
    • key 设定自定义key作为权限载体

    不过我是:

    • 有一个UI界面,可以根据路由自动获取controller/action信息;
    • 把数据存在数据库中,然后用了Rails.cache做的缓存。

    https://github.com/yigexiangfa/the_role

尘世间一个小码农