小编aqu*_*ach的帖子

Heroku不会在Rails 4中的资产管道下编译文件

在Rails 4和Ruby 2.0中使用资产管道的本地机器上一切顺利.但是当部署到heroku时,它显示:

-----> Preparing app for Rails asset pipeline
   Running: rake assets:precompile
   I, [2013-03-12T03:28:29.908234 #912]  INFO -- : Writing /tmp/build_1n6yi8lwna3sj/public/assets/rails-2ee5a98f26fbf8c6c461127da73c47eb.png
   I, [2013-03-12T03:28:29.914096 #912]  INFO -- : Writing /tmp/build_1n6yi8lwna3sj/public/assets/trash-3c3c2861eca3747315d712bcfc182902.png
   I, [2013-03-12T03:28:33.963234 #912]  INFO -- : Writing /tmp/build_1n6yi8lwna3sj/public/assets/application-bf2525bd32aa2a7068dbcfaa591b3874.js
   I, [2013-03-12T03:28:40.362850 #912]  INFO -- : Writing /tmp/build_1n6yi8lwna3sj/public/assets/application-13374a65f29a3b4cea6f8da2816ce7ff.css
   Asset precompilation completed (14.36s)
Run Code Online (Sandbox Code Playgroud)

Heroku似乎编译文件,但把它放在/ tmp没有任何错误.我的问题是:

  1. 为什么Heroku将资源文件编译为/ tmp?
  2. 我的最后一个解决方案是运行RAILS_ENV =生产包exec rake资产:在本地预编译,但这在public/assets中生成了manifest-xxxxxx.json,而不是manifest.yml,因此heroku不会检测JSON清单文件.我通过从json文件手动创建了一个yml来解决它,并且heroku变得很开心.heroku的方法已经过时了吗?

heroku asset-pipeline ruby-on-rails-4

77
推荐指数
6
解决办法
4万
查看次数

Rubymine:如何跳回去?

这真的很棒Rubymine允许我们使用Cmd +左键单击来跟踪定义方法的位置并跳转到源文件/位置.

我怀疑是否有热键可以返回,这在有很多文件/标签打开或查看长文件时很有用

ide rubymine

9
推荐指数
1
解决办法
1836
查看次数

在Swift中,为什么子类方法不能覆盖超类中协议扩展提供的方法

我知道这个问题的标题令人困惑,但下面的例子解释了奇怪的行为:

protocol Protocol {
    func method() -> String
}

extension Protocol {
    func method() -> String {
        return "From Base"
    }
}

class SuperClass: Protocol {
}

class SubClass: SuperClass {
    func method() -> String {
        return "From Class2"
    }
}

let c1: Protocol = SuperClass()
c1.method() // "From Base"
let c2: Protocol = SubClass()
c2.method() // "From Base"
Run Code Online (Sandbox Code Playgroud)

为什么c1.method()c2.method()返回相同?为什么method()SubClass不起作用?

有趣的是,在没有声明c2的类型的情况下,这将起作用:

let c2  = SubClass()
c2.method() // "From Class2"
Run Code Online (Sandbox Code Playgroud)

protocols swift xcode7 swift2

6
推荐指数
1
解决办法
1368
查看次数

在Swift中调用参数'coder'时缺少参数

class SecondViewController:UIViewController {
  required init(coder aDecoder: NSCoder){
    super.init(coder: aDecoder)
    //Custom logic here
  }
}
Run Code Online (Sandbox Code Playgroud)

相当新手的问题:

一个视图控制器(SecondViewController),UIViewController固有的需要一个指定的init函数,如上所述.

在这种情况下,我应该怎么称呼它,因为我不确定"编码器"应该是什么价值?我以前称控制器为:SecondViewController(),但它给出:

Missing argument for parameter 'coder' in call
Run Code Online (Sandbox Code Playgroud)

我理解必须提供编码器参数,但想知道它的价值来自何处.

xcode ios swift

0
推荐指数
1
解决办法
5452
查看次数