这次想系统学会rails,最终目标是将redmine改造成顺手的工具,主要的手段就是开发redmine插件。虽然网上都推荐使用类Unix系统,可手头只有win7系统,就安装了。

难免会遇到这样那样的问题,只能逐一解决了:

1、为了省事,下载了bitnami redmine最新3.2.2版本,一键安装ok,什么数据库mysql、数据库管理工具php等等全安装好了,打开例子测试成功。

2、需要配置开发环境,cmd打开命令行,ruby -v(2.1.8)、gem -v(2.2.5)都正常,可rails -v就是报错。

3、无奈,gem install rails,但失败,看提示应该是连不上https://rubygems.org/。上网搜索,如下解决:

  gem sources --remove https://rubygems.org/

  gem source -a http://gems.ruby-china.org

  设置好源后继续更新: gem install rails

  rails -v(4.2.6)安装成功,本来还准备railsinstaller,暂时是不需要了。

  (上述参考:http://www.cnblogs.com/51kata/p/5469722.html)

4、环境准备好了,剩下的就是找合适的教程了。因为没有非常急的应用需求,所以不着急进行redmine的插件开发,先系统学习,找个合适的入门教程。基本上网上推荐的都是持续更新的Ruby on Rails Guides(原文中文),最后有人推荐了一个台湾作者写的Ruby onRails实战圣经(基于rails4),看了下还真不错!经过比较,决定选用后者。

5、边阅读边coding,到Part 1第3章hello world时,浏览器中打开页面报TypeError错误,显示/app/views/layouts/application.html.erb lines 5 有问题。查看源文件,第5、6行内容为:

<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>

<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>

困扰了几个小时,网上的答案主要集中在几个方面:

  1)将application改为default,但是该方法有缺陷,会导致js运行问题; 但修改后确实可以显示hello world了。

  2) 因windows原因,需要安装nodejs;安装后重启服务器,但是好像也没有解决问题。

  3) 因coffee-script-source版本问题(1.9.0在windows上使用有该问题,我的为1.10.0版本)需要使用1.8.0版本。我在使用上述2个方法后,用此方法解决了。首先修改Gemfile,加入:gem 'coffee-script-source', '1.8.0'。然后:bundle update coffee-script-source。然后重启服务器,刷新页面ok!

参考以下文章:

  http://stackoverflow.com/questions/28421547/rails-execjsprogramerror-in-pageshome

  http://stackoverflow.com/questions/28241981/rails-4-execjsprogramerror-in-pageswelcome

   http://stackoverflow.com/questions/34388231/getting-error-on-css-with-ruby-on-rails

  https://ruby-china.org/topics/24343(对方法1、2进行了总结,提出了第4种方法)

总之,windows下的坑很多,一个简单的hello world还费了这般周折,只能且行且记录了!

ruby on rails on windows的更多相关文章

  1. 10 steps to get Ruby on Rails running on Windows with IIS FastCGI- 摘自网络

    Since the original tech preview release of FastCGI last year, we've been seeing a lot of requests fo ...

  2. windows下安装ruby和 rails的痛苦经历

    准备安装ruby on rails,在网上搜了下,步骤都类似,但实际安装过程中却碰到很多问题.下面详细说下: 说明下,文章是按照我尝试的过程描述的.但最终是靠 运行 railsinstaller一键式 ...

  3. 在linux,windows上安装ruby on rails开发环境

    ruby是一个非常优秀的语言,ruby的精髓rails可以让web开发的效率成倍的提高,下面就介绍一下我搭建rails环境的过程.windows下搭建ruby rails web开发环境本篇文章主要是 ...

  4. 通过Ruby On Rails 框架来更好的理解MVC框架

    通过Ruby On Rails 框架来更好的理解MVC框架   1.背景    因为我在学习软件工程课程的时候,对于 MVC 框架理解不太深入,只是在理论层面上掌握,但是不知道如何在开发中使用 MVC ...

  5. 【转】如何从零开始学会 Ruby on Rails?

    文章转自:http://huacnlee.com/blog/how-to-start-learning-ruby-on-rails/ 这个话题曾经给身边的很多朋友说过同样的话题,这里整理以下. 如果你 ...

  6. 如何从 0 开始学 ruby on rails (漫步版)

    如何从 0 开始学 ruby on rails (漫步版) ruby 是一门编程语言,ruby on rails 是 ruby 的一个 web 框架,简称 rails. 有很多人对  rails 感兴 ...

  7. Ruby on Rails 實戰聖經阅读(三)

    由于是1.8.x:圣经的1.9.3差太多,所以另外按1.8.X来创建hello world 第一個Hello World!! 1. 创建项目rails -d mysql first 2.创建控制器  ...

  8. 如何从 0 开始学 Ruby on Rails

    如何从 0 开始学 Ruby on Rails (漫步版)Ruby 是一门编程语言,Ruby on Rails 是 Ruby 的一个 web 框架,简称 Rails. 有很多人对 Rails 感兴趣, ...

  9. Ruby on Rails 开发笔记

    安装 Ruby on Rails Install Rails: A step-by-step guide 创建应用 # 创建新的应用程序 $ rails new blog $ cd blog # 启动 ...

随机推荐

  1. jQuery hide()并不等于hide(0)

    在实际使用中,经常用hide()函数来隐藏HTML元素,通常是没有什么问题的,但在一次做二级下拉菜单时遇到了问题,后来才发现有时候“speed”是不能省略的,即使“speed=0”,也就是说hide( ...

  2. Sqoop_ 简单介绍

    一.基本作用 概念: Sqoop被称为协作框架,是在Hadoop.2.X生态系统的辅助型框架,简单说,就是一个数据转换工具,类似的协作框架有文件收集库框架Flume,任务协调框架Oozie,大数据We ...

  3. 启动tomcat,报java.lang.NoClassDefFoundError

    用的Build Path加进来的jar包,没有读取到,应该讲jar包放在lib目录下

  4. JAVA6开发WebService (一)

    转载自http://wuhongyu.iteye.com/blog/807470 WebService是SOA的一种较好的实现方式,它将应用程序的不同功能单元通过中立的契约(独立于硬件平台.操作系统和 ...

  5. VMwareTools安装笔记

    1.首先确保你的虚拟机正在运行. 2.右键点击“安装VMwareTools”,如果安装过了,会显示“重新安装...” 3.系统会自动打开VMwareTools的目录,(一般都会自动打开,因为系统一般会 ...

  6. Java序列化机制

    java的序列化机制支持将对象序列化为本地文件或者通过网络传输至别处, 而反序列化则可以读取流中的数据, 并将其转换为java对象. 被序列化的类需要实现Serializable接口, 使用Objec ...

  7. 【转】CSRF攻击的应对之道

    CSRF 背景与介绍CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一.其他安全隐患,比如 ...

  8. 关于JAVA中的String的使用与连接(转)

    JAVA中的String连接性能 Java中的String是一个非常特殊的类,使它特殊的一个主要原因是:String是不可变的(immutable).           String的不可变性是Ja ...

  9. 【iCore3 双核心板】例程四:USART通信实验——通过命令控制LED

    实验指导书及代码包下载: http://pan.baidu.com/s/1pJxluWF iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  10. EditText中输入手机号码时,自动添加空格

    输入手机号码时,自动添加空格,更容易辨别 public class PhoneWatcher implements TextWatcher { private EditText _text; publ ...