问题解决了!看来是 underscore-rails 的版本问题
我修改 Gemfile,将 gem "underscore-rails", "~> 1.4.4" 改为 gem "underscore-rails", "~> 1.5.2"
重新执行了下 bundle install --no-deployment,再把/home/git/gitlab/app/assets/javascripts/application.js 中的//= require underscore 恢复,重启 gitlab 就好了,看来是版本问题。
THX 各位!!
#6 楼 @qichunren [git@localhost gems]$ bundle show underscore-rails /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/underscore-rails-1.4.
是这个
刚才我尝试把 /home/git/gitlab/app/assets/javascripts/application.js中的 //= require underscore 这行删除掉,就可以运行了。有些奇怪呀,这个 underscore 明明装了,可是引用不进来。也不知道注释掉它会有什么影响不。请问哪位知道原因?
我明明安装了 underscore-rails-1.4.4。但 require underscore 却找不到这个包
#2 楼 @zj0713001 是 underscore-rails-1.4.4
我的环境是:[email protected]
#1 楼 @qichunren 在 Gemfile 中有
gem "underscore-rails", "~> 1.4.4"
这么一句,并且 bundle 也执行完毕了。
#1 楼 @blacktulip 谢谢您的解答,这么看来一个服务器上如果要跑多个 rails 项目,必须得不停的开新进程 + 占用新端口才行。
就我家门口。可惜自己的 ruby 水平还不敢拿出来实际工作,平时也就用 ruby 写个小脚本,不太会 rails。php 到是 7 年经验了。一直想平滑过渡 (薪水方面) 到 ruby,可惜没这个机会。
可能因为我有代码洁癖的缘故,对于学习新知识,我一般不会去学相同作用的。比如我已经熟练掌握了 php 对于 web 领域的开发,我就不太想再去学一门别的语言来做 web 开发。
我开始的设想是 web 领域还是由 php 去做,学习一门负责去处理服务器端的问题的语言,编写个小脚本之类的。但发现 ruby 的优势貌似不在这里,而是整个 ror。
不过现在我也有全面转型至 ror 的想法,现在唯一让我犹豫的问题就是我这个转型会给我带来多大的薪水落差。还有就是转型的成本,我需要学习到什么程度才可以去面试全职的 ruby 程序员?
这个还是挺有创意的啊,尤其是给每道题起的那个名字。支持一下!
非常感谢大家。又学到了不少。
apple magic mouse+razer ouroboros
我也是初学 ruby。先开始买了《ruby 元编程》,php 比较熟,所以也能看懂一些。但是到“块”这部分就看不懂了,php 没有"块" ,所以又买了本《learnning ruby》补基础,然后又找了本电子版的《programming ruby》两本搭配看补基础。
我感觉步骤应该是: 1 先看基础的,把 ruby 的基础看一遍,即使有其他很熟悉的语言,ruby 会让你发现和其他语言有很大的不同。 2《ruby 元编程》,即使我现在只看了前 3 章,但还是能感觉出这本书很棒。 3《ruby gems》,虽然这本书主要针对的是 ruby1.8,但他讲了很多 ruby 的外部库。值得一看 4 学习 ruby on rails,当然如果你只想拿 ruby 做脚本不打算 web 开发,可以不学 rails 了。不过 rails 跟我以前用过的 php 框架比起来,真的很精彩。
#3 楼 @messiahxu 很感谢,从源码看,确实没做任何特殊处理。 也许目前只是弄了个壳子,以后的版本有可能会在这个方法里加什么处理。
#1 楼 @xdada 没太明白你的意思,你是说如果 func_a 需要一个 hash 类型的参数,而 a 是未知类型,为了确保 a 一定是 hash 类型,所以这里做了下强制转换?
这样如果 a 是 Array,可以通过 to_hash 方法来做转换。 而如果 a 本身就是 hash,执行一下 to_hash 方法也不会发生异常?
不过如果 a 是 String 或者 Integer 的话,是没有 to_hash 这个方法的,还是会有异常。 还不如 a = a.to_hash if a.respond_to? 'to_hash'这样处理一下或者这里用 raise 检查一下抛个异常呢。
无论如何还是感谢。