设为首页 收藏本站
查看: 1716|回复: 0

[经验分享] Ruby On Rails开发环境For Windows(更新)

[复制链接]

尚未签到

发表于 2016-5-24 10:55:46 | 显示全部楼层 |阅读模式
  一、Windows下rails环境安装
  很简单一步搞定。。。
  1.下载Rails DevKit:railsinstaller-version.exe 下载地址 http://railsinstaller.org/ 
  railsinstaller-2.1.exe下载地址http://download.csdn.net/download/loveanna7/5147502
  2.安装rails:执行railsinstaller-version.exe安装rails。傻瓜式安装(有一点要注意,安装路径不要有空格);其他组件也一并会安装上,包括ruby、gem、bundle等。
  3.安装完成后点完成的时候,那个界面的复选框选上的话,我们就要进入git设置。会自动打开终端,只要输入姓名和邮箱会自动配置好。
  4.配置完成之后终端会自动进入C:\Sites。我们现在可以查看我们安装的环境的版本号:ruby -v;rails -v;gem -v;bundle -v
  运行日志:

# Rails Environment Configuration.
Your git configuration is incomplete.
user.name and user.email are required for properly using git and services such
as GitHub ( http://github.com/ ).
Please enter your name, for example mine is: Wayne E. Seguin
name > Jarry Li
Setting user.name to Jarry Li
Please enter your email address, for example mine is: wayneeseguin@gmail.com
email > jarry-li@163.com
Setting user.email to jarry-li@163.com
'clip' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
---
git:
user.name:  Jarry Li
user.email: jarry-li@163.com
version:    git version 1.7.9.msysgit.0
ruby:
bin:        D:/dev/RailsInstaller/Ruby1.9.2/bin/ruby.exe
version:    ruby 1.9.3p125 (2012-02-16) [i386-mingw32]
rails:
bin:        D:/dev/RailsInstaller/Ruby1.9.2/bin/rails.bat
version:    Rails 3.2.1
ssh:
public_key_location: C:\Documents and Settings\Administrator/.ssh/id_rsa.pub
public_key_contents: ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxGnWu+Vl8ZuVbEg21/w2s
4UIOFPK9ujkl2r19Ysq2E94ZSvaPfjJj7PkN0619Ci35BtmAu14ChdFBWPLi8PhrZu5o0PSZao0wecXX
v8kcl27iaAIQtnXr9uz3319fZRDgx12V/DBnXD5NFI1BTQJVaPxM6SwblJJCDs/ELgR9Wg0x23t4e33s
z0AXkav4kFKbxlJFDXl8vAbauyLozkd28+jFUni8sFau4eDVkv4XVmFBLPAQPb5rSZ8Pmt8ci6Zj2JEX
9rCFr7qPPMiWgSlb2vC3d8S2Lwk+Ju1P/AqiAubemyZnRq25ar0W7Nx+sKjJpHzskthhwZ93UJkaRpxF
Q== Jarry Li <jarry-li@163.com>

NOTES:
Your public ssh key (id_rsa.pub) has been automatically generated and copied t
o your clipboard.
C:\Sites>ruby -v
ruby 1.9.3p125 (2012-02-16) [i386-mingw32]
C:\Sites>rails -v
Rails 3.2.1
C:\Sites>gem -v
1.8.16
C:\Sites>bundle -v
Bundler version 1.0.22
  
  二、新建应用程序
  1.创建一个demo应用程序:cd到工作目录,如:E:\works\ruby,执行rails new demo,会创建一个名为demo的应用程序
  2.cd到demo目录
  3.启动自带默认的rails服务器:rails server
  4.浏览器打开http://localhost:3000
DSC0000.png
  
  运行日志:

C:\Sites>cd e:\works\
C:\Sites>e:
E:\works>mkdir ruby
E:\works>cd ruby
E:\works\ruby>rails new demo
create
create  README.rdoc
create  Rakefile
create  config.ru
create  .gitignore
create  Gemfile
create  app
create  app/assets/images/rails.png
create  app/assets/javascripts/application.js
create  app/assets/stylesheets/application.css
create  app/controllers/application_controller.rb
create  app/helpers/application_helper.rb
create  app/mailers
create  app/models
create  app/views/layouts/application.html.erb
create  app/mailers/.gitkeep
create  app/models/.gitkeep
create  config
create  config/routes.rb
create  config/application.rb
create  config/environment.rb
create  config/environments
create  config/environments/development.rb
create  config/environments/production.rb
create  config/environments/test.rb
create  config/initializers
create  config/initializers/backtrace_silencers.rb
create  config/initializers/inflections.rb
create  config/initializers/mime_types.rb
create  config/initializers/secret_token.rb
create  config/initializers/session_store.rb
create  config/initializers/wrap_parameters.rb
create  config/locales
create  config/locales/en.yml
create  config/boot.rb
create  config/database.yml
create  db
create  db/seeds.rb
create  doc
create  doc/README_FOR_APP
create  lib
create  lib/tasks
create  lib/tasks/.gitkeep
create  lib/assets
create  lib/assets/.gitkeep
create  log
create  log/.gitkeep
create  public
create  public/404.html
create  public/422.html
create  public/500.html
create  public/favicon.ico
create  public/index.html
create  public/robots.txt
create  script
create  script/rails
create  test/fixtures
create  test/fixtures/.gitkeep
create  test/functional
create  test/functional/.gitkeep
create  test/integration
create  test/integration/.gitkeep
create  test/unit
create  test/unit/.gitkeep
create  test/performance/browsing_test.rb
create  test/test_helper.rb
create  tmp/cache
create  tmp/cache/assets
create  vendor/assets/javascripts
create  vendor/assets/javascripts/.gitkeep
create  vendor/assets/stylesheets
create  vendor/assets/stylesheets/.gitkeep
create  vendor/plugins
create  vendor/plugins/.gitkeep
run  bundle install
Fetching source index for https://rubygems.org/
Installing rake (10.0.3)
Installing i18n (0.6.4)
Installing multi_json (1.6.1)
Using activesupport (3.2.1)
Installing builder (3.0.4)
Using activemodel (3.2.1)
Using erubis (2.7.0)
Installing journey (1.0.4)
Installing rack (1.4.5)
Installing rack-cache (1.2)
Installing rack-test (0.6.2)
Using hike (1.2.1)
Installing tilt (1.3.5)
Installing sprockets (2.1.3)
Using actionpack (3.2.1)
Installing mime-types (1.21)
Using polyglot (0.3.3)
Installing treetop (1.4.12)
Installing mail (2.4.4)
Using actionmailer (3.2.1)
Using arel (3.0.2)
Installing tzinfo (0.3.37)
Using activerecord (3.2.1)
Using activeresource (3.2.1)
Using bundler (1.0.22)
Installing coffee-script-source (1.6.1)
Installing execjs (1.4.0)
Using coffee-script (2.2.0)
Installing rack-ssl (1.3.3)
Installing json (1.7.7) with native extensions
Installing rdoc (3.12.2)
Using thor (0.14.6)
Using railties (3.2.1)
Using coffee-rails (3.2.2)
Installing jquery-rails (2.2.1)
Using rails (3.2.1)
Installing sass (3.2.7)
Installing sass-rails (3.2.6)
Installing sqlite3 (1.3.7)
Installing uglifier (1.3.0)
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem
is installed.
E:\works\ruby>cd demo
E:\works\ruby\demo>rails server
=> Booting WEBrick
=> Rails 3.2.1 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
SECURITY WARNING: No secret option provided to Rack::Session::Cookie.
This poses a security threat. It is strongly recommended that you
provide a secret to prevent exploits that may be possible from crafted
cookies. This will not be supported in future versions of Rack, and
future versions will even invalidate your existing user cookies.
Called from: D:/dev/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ac
tionpack-3.2.1/lib/action_dispatch/middleware/session/abstract_store.rb:28:in `i
nitialize'.
[2013-03-14 10:01:15] INFO  WEBrick 1.3.1
[2013-03-14 10:01:15] INFO  ruby 1.9.3 (2012-02-16) [i386-mingw32]
[2013-03-14 10:01:15] INFO  WEBrick::HTTPServer#start: pid=4728 port=3000
  
  三、Hello Rails 
  写一个hello world程序试试手,新打开一个终端,并cd到E:\works\ruby\demo
  1.用rails生成一个名为say的控制器,用命令:rails generate controller Say hello goodbye
  日志信息:

E:\works\ruby\demo>rails generate controller Say hello goodbye
SECURITY WARNING: No secret option provided to Rack::Session::Cookie.
This poses a security threat. It is strongly recommended that you
provide a secret to prevent exploits that may be possible from crafted
cookies. This will not be supported in future versions of Rack, and
future versions will even invalidate your existing user cookies.
Called from: D:/dev/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ac
tionpack-3.2.1/lib/action_dispatch/middleware/session/abstract_store.rb:28:in `i
nitialize'.
create  app/controllers/say_controller.rb
route  get "say/goodbye"
route  get "say/hello"
invoke  erb
create    app/views/say
create    app/views/say/hello.html.erb
create    app/views/say/goodbye.html.erb
invoke  test_unit
create    test/functional/say_controller_test.rb
invoke  helper
create    app/helpers/say_helper.rb
invoke    test_unit
create      test/unit/helpers/say_helper_test.rb
invoke  assets
invoke    coffee
create      app/assets/javascripts/say.js.coffee
invoke    scss
create      app/assets/stylesheets/say.css.scss
  
  
  2.控制器demo/app/controllers/say_controller.rb代码

class SayController < ApplicationController
def hello
end
def goodbye
end
end
  
  可以看到是继承了ApplicationController类,里面有两个空的方法。
  3.rails的url请求,浏览器访问:http://localhost:3000/say/hello
DSC0001.png
  我们运行rails generate时生成了6个文件1个目录say,这个目录用来存放控制器视图的模板文件,我们创建了say控制器,视图就位于app/views/say中。
  默认rails会寻找与当前动力(action)同名的文件中的模板。这里我们修改app/views/say/hello.html.erb模板文件,只要在其中添加HTML代码。
  当前代码

<h1>Say#hello</h1>
<p>Find me in app/views/say/hello.html.erb</p>
  
  修改之后:

<h1>Hello from Rails</h1>
  
  刷新浏览器可看到:
DSC0002.png
  4.在模板中添加动态内容:每次显示页面时也显示当前时间。
  模板文件用.html.erb后缀,是告诉rails,需要借助ERb系统对文件的内容进行扩展,就像jsp/asp/php一样的动态页面文件。ERb是一个过滤器,包含在rails的默认安装里。
  修改app/views/say/hello.html.erb模板,添加显示当前时间:

<h1>Hello from Rails</h1>
<p>
It is new <%= Time.now %>
</p>
  
  刷新浏览器:
DSC0003.png
  5.将“获取时间”的方法写在控制器中,视图则只承担显示信息的职责。
  对控制器中hello方法进行修改,将时间值放在@time的实例变量中,.html.erb模板中输出实例变量即可。
  修改控制器app/controllers/say_controller.rb:

class SayController < ApplicationController
def hello
@time = Time.now
end
def goodbye
end
end
  
  修改app/views/say/hello.html.erb模板:

<h1>Hello from Rails</h1>
<p>
It is new <%= @time %>
</p>
  
  刷新浏览器, 只看到时间更新。
  
  四、把页面连起来
  1.创建应用的时候,还创建一个goodbye的动作,对应的模板app/views/say/goodbye.html.erb,现在用得上了,修改它:

<h1>Goodbye!</h1>
<p>
It was nice having you here.
</p>
  
  2.打开http://localhost:3000/say/goodbye
DSC0004.png
  3.把hello和goodbye页面连接起来:现在需要在两个模板页面上添加链接,让其互相跳转。
  hello.html.erb添加:

<p>
Say <a href="/say/hello">Hello</a>!
</p>
  
  goodbye.html.erb添加:

<p>
Say <a href="/say/goodbye">Goodbye</a>!
</p>
  
DSC0005.png
DSC0006.png
  4.现在这样是管用,但是如果把应用程序移到Web服务器的另一个目录下,这些Url就会失效。实际上我们可以使用Rails提供的视图模板中的辅助方法。现在使用辅助方法添加跳转链接。
  修改hello.html.erb:

<h1>Hello from Rails</h1>
<p>
It is new <%= @time %>
</p>
<p>
Time to say
<%= link_to "Goodbye", say_goodbye_path %>!
</p>
  
  修改goodbye.html.erb:

<h1>Goodbye!</h1>
<p>
It was nice having you here.
</p>
<p>
Say <%= link_to "Hello", say_hello_path %> again.
</p>
  
  link_to()是一个方法(在rails中把这样的方法叫做辅助方法(helper),因为它给编写视图模板带来了便利)。这里使用时省略了圆括号。
  say_goodbye_path参数是rails预计算过的一个值。
DSC0007.png
DSC0008.png
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-221067-1-1.html 上篇帖子: 导入Mondrian例子数据库到mysql中 windows环境 下篇帖子: 微软龙年将投2亿美元在美宣传Windows Phone
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表