常用命令总计,安装使用全经过

有机遇再试一试Rails了,只是原先接触的是2,未来尘埃落定成为了4,就像是未来的装置比原先会快些。。

相当久未有来更新了,因为近期友幸而天涯论坛云上面搭建了个wordpress玩,然而还从未弄上markdown的插件,所以照旧明日此地写,那边再复制过去。

使用rails new appname生成Rails应用后,大家得以由此tree命令来查看Rails应用的目录结构:

Rails 4 安装

  • <a href=”;

目录结构

应用程序目录下会有app、bin、config、db、lib、log、public、test、tmp和vendor等13个目录和config.ru、Gemfile、Gemfile.lock、Rakefile、README.md等5个公文。
目录在稍后会一一解释,先看一下app目录下的文件:

  • config.ru 用来运营Rails程序的Rack设置文件

require ::File.expand_path('../config/environment', __FILE__)
run Myapps::Application
  • Gemfile设置Rails程序所凭仗的Gems (一旦用bundle
    install安装后,会生成Gemfile.lock)

source 'https://ruby.taobao.org/'
gem 'rails', '3.2.1'
gem 'sqlite3'
group :assets do
 gem 'sass-rails',  '~> 3.2.3'
 gem 'coffee-rails', '~> 3.2.1'
 gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
gem ... ...
  • Rakefile 用来载入能够被终端实行的Rake义务

下边是用tree命令查看,所呈现的目录和文件结构:

.
├── app
│  ├── assets
│  │  ├── images
│  │  │  └── rails.png
│  │  ├── javascripts
│  │  │  └── application.js
│  │  └── stylesheets
│  │    └── application.css
│  ├── controllers
│  │  └── application_controller.rb
│  ├── helpers
│  │  └── application_helper.rb
│  ├── mailers
│  ├── models
│  └── views
│    └── layouts
│      └── application.html.erb
├── config
│  ├── application.rb
│  ├── boot.rb
│  ├── database.yml
│  ├── environment.rb
│  ├── environments
│  │  ├── development.rb
│  │  ├── production.rb
│  │  └── test.rb
│  ├── initializers
│  │  ├── backtrace_silencers.rb
│  │  ├── inflections.rb
│  │  ├── mime_types.rb
│  │  ├── secret_token.rb
│  │  ├── session_store.rb
│  │  └── wrap_parameters.rb
│  ├── locales
│  │  └── en.yml
│  └── routes.rb
├── config.ru
├── db
│  └── seeds.rb
├── doc
│  └── README_FOR_APP
├── Gemfile
├── lib
│  ├── assets
│  └── tasks
├── log
├── public
│  ├── 404.html
│  ├── 422.html
│  ├── 500.html
│  ├── favicon.ico
│  ├── index.html
│  └── robots.txt
├── Rakefile
├── README.rdoc
├── script
│  └── rails
├── test
│  ├── fixtures
│  ├── functional
│  ├── integration
│  ├── performance
│  │  └── browsing_test.rb
│  ├── test_helper.rb
│  └── unit
├── tmp
│  └── cache
│    └── assets
└── vendor
  ├── assets
  │  ├── javascripts
  │  └── stylesheets
  └── plugins

针对于安装了RubiconVM

以下是主旨


运用目录(app/)

app目录是Rails程序的主目录,差异子目录分别寄存了模型 models (M)、调节器
controller (C)、视图 views (V)及mailers、helpers、channels、
jobs和assets等文档。

复制代码 代码如下:

何以会有rails

  • 事实上一早先是前面一个入门的,后来写着写着,刚好学校互连网基本要求PHP开采,然后就开始入了后端的坑,然后不精晓干什么写着写着对PHP并非特意欣赏,多个是后日的基础教程真的不友善,随手一搜都是PHP4的科目,今后都出PHP7了,还会有贰个就是很糊涂,面向对象一种方法,面向进程又一种办法,一上来就迷迷糊糊的,然后想着有未有任何后台语言能够学
  • 下一场在udacity看jquery教程的时候,看到她们在ajax做交互的时候使用python写的,然后自身又了解原本有django的web开垦框架,然后又亮堂railis,对于rails的便捷原型开拓很有青眼,未来策动用rails写三个电商网址

模型-控制器-视图

各自寄放模型、调控器和视图。当中,模型统一存放在app/models目录下,调节器统一寄放在app/controllers目录下(能够使用目录进一步组织调整器,比方admin目录下用于寄放保管后台相关的调控器),视图存放在app/views目录下,视图模型贮存在app/view/layouts目录下,默以为applicaiton.html.erb。

gem install rails

rails初体验

  • 服务器铺排略过,由于是学员党没钱换mac,所以是在linux下布置的ruby和rails的支付遇到,网络教程非常多,小编是参谋ruby
    china 的wiki安插的
  • 先到教室借了本rails学习手册,纵然个中的代码十分久了,可是多多少少也会有启迪意义,等自身做到一定的成果现在,再上网出手优秀rails开垦书,继续支付

assets静态文件

assets静态文件寄放在app/assets目录下,分别为app/assets/images、app/assets/stylesheets、app/assets/javascripts目录。

尚无的话应当那样:

rails上线

helpers

helpers是局地在视图中能够利用的小方法,用来爆发较复杂的HTML。预设的Helper文件名称对应调控器,但不强制必要,在自由一个Helper文件中定义的方法,都得以在另外视图中应用。
……

复制代码 代码如下:

实际rubychina上边的会更全,笔者为此写来是为着帮本身理清思路和加剧印象
  • $ rails new blog
  • 本条命令会在文书夹 blog 中新建贰个 Rails 程序,然后试行 bundle
    install命令安装 Gemfile 中列出的 gem。
  • 执行 rails new -h
    能够查看新程序生成器的有所命令行选项。
  • $ cd blog

blog 文件夹中有相当多自动生成的文件和文件夹,组成二个 Rails
程序。本文一大5个月美国首都花在
app文件夹上。下边简介默许生成的文件和文书夹的效果:

文件/文件夹 作用
app/ 存放程序的控制器、模型、视图、帮助方法、邮件和静态资源文件。本文主要关注的是这个文件夹。
bin/ 存放运行程序的 rails脚本,以及其他用来部署或运行程序的脚本。
config/ 设置程序的路由,数据库等。详情参阅“设置 Rails 程序”一文。
config.ru 基于 Rack 服务器的程序设置,用来启动程序。
db/ 存放当前数据库的模式,以及数据库迁移文件。
Gemfile, Gemfile.lock 这两个文件用来指定程序所需的 gem 依赖件,用于 Bundler gem。关于 Bundler 的详细介绍,请访问 Bundler 官网
lib/ 程序的扩展模块。
log/ 程序的日志文件。
public/ 唯一对外开放的文件夹,存放静态文件和编译后的资源文件。
Rakefile 保存并加载可在命令行中执行的任务。任务在 Rails 的各组件中定义。如果想添加自己的任务,不要修改这个文件,把任务保存在 lib/tasks文件夹中。
README.rdoc 程序的简单说明。你应该修改这个文件,告诉其他人这个程序的作用,如何安装等。
test/ 单元测试,固件等测试用文件。详情参阅“测试 Rails 程序”一文。
tmp/ 临时文件,例如缓存,PID,会话文件。
vendor/ 存放第三方代码。经常用来放第三方 gem。
  • $ rails server

上述命令会运转 WEBrick,那是 Ruby
内置的服务器。要翻开程序,请展开三个浏览器窗口,采访http://localhost:3000。应该拜会到默许的
Rails 信息页面

配备文件目录(config/)

固然如此Rails遵从“约定优于配备”的基准,但仍有局地索要设定的地方。在铺排文件目录下,会寄放应用程序设置文件application.rb、数据库设置文件database.yml、路由设置文件routes.rb、多种景况设置config/environments目录、其余开端设置文件config/initializers。

sudo gem install rails

显示“Hello, Rails!”

  • 要在 Rails 中显示“Hello, Rails常用命令总计,安装使用全经过。!”,要求新建三个调控器和视图。
  • 支配器用来接受向程序发起的央浼。路由决定哪些调控器会接受到那么些诉求。一般景观下,每种调控器都有多个路由,对应差别的动作。动成效来提供视图中须求的多少。

  • 视图的遵守是,以人类能看懂的格式展现数据。有有些要特别注意,数据是在调整器中获得的,并不是在视图中。视图只是把数据突显出来。私下认可意况下,视图使用
    eRuby(嵌入式 Ruby)语言编写,经由 Rails 深入分析后,再发送给用户。

  • 调控器可用调节器生成器成立,你要报告生成器,我想要个名叫“welcome”的调控器和叁个名称为“index”的动作,如下所示:

  • rails generate controller welcome index

运维上述命令后,Rails 会生成比相当多文件,以及二个路由。
create app/controllers/welcome_controller.rb
route get ‘welcome/index’
invoke erb
create app/views/welcome
create app/views/welcome/index.html.erb
invoke test_unit
create test/controllers/welcome_controller_test.rb
invoke helper
create app/helpers/welcome_helper.rb
invoke assets
invoke coffee
create app/assets/javascripts/welcome.js.coffee
invoke scss
create app/assets/stylesheets/welcome.css.scss

  • 在那么些文件中,最要紧的当然是调控器app/controllers/welcome_controller.rb
  • 以及视图,位于 app/views/welcome/index.html.erb。
  • 应用文本编辑器张开 app/views/welcome/index.html.erb
    文本,删除全部内容,写入上面那行代码:
    <h1>Hello, Rails!</h1>

咱俩早已创办了调整器和视图,今后要报告 Rails 在哪些地点上海展览中心示“Hello,
Rails!”。这里,大家意在访谈根地址
http://localhost:3000
时呈现。可是以后来得的还是招待页面。
我们要告诉 Rails 真正的首页是哪些。在编辑器中展开 config/routes.rb
文件。

Rails.application.routes.draw do 
get 'welcome/index'

# The priority is based upon order of creation:
# first created -> highest priority.
# You can have the root of your site routed with "root"
# root 'welcome#index'
#
# ...

那是先后的路由文件,使用特别的 DSL(domain-specific
language,领域专项语言)编写,告知 Rails
央浼应该发往哪些调整器和动作。文件中有众多讲明,举个例子表明怎么样定义路由。在那之中有一行表明了怎么内定调节器和动作设置网站的根路由。找到以
root
开首的代码行,去掉注释,产生那样:

root
'welcome#index'

root 'welcome#index'
  • 告知 Rails,访谈程序的根路线时,交给 welcome调节器中的 index
    动作管理。get ‘welcome/index’告知 Rails,访谈
    http://localhost:3000/welcome/index
    时,交给 welcome 调节器中的 index动作管理。get ‘welcome/index’是运作
    rails generate controller welcome index时生成的。
  • 假定生成调整器时停下了服务器,请再度启航(rails
    server),然后在浏览器中做客http://localhost:3000。你会看出在此之前写入
    app/views/welcome/index.html.erb文件的“Hello,
    Rails!”,表达新定义的路由把根目录交给 WelcomeController的
    index动作管理了,并且也没有错的渲染了视图。

Rails运行应用程序设置

开发银行Rails程序(举例rails console或rails server),会进行以下几个文书档案
boot.rb 载入Bundler意况,那些文件由Rails自动产生,没有供给修改;

require 'rubygems'

# Set up gems listed in the Gemfile.
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)

require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])

application.rb 载入Rails gems和重视的别的gems,接着设定Rails程序;

require File.expand_path('../boot', __FILE__)
require 'rails/all'

if defined?(Bundler)
 # If you precompile assets before deploying to production, use this line
 Bundler.require(*Rails.groups(:assets => %w(development test)))
 # If you want your assets lazily compiled in production, use this line
 # Bundler.require(:default, :assets, Rails.env)
end

module Myapps
 class Application < Rails::Application
  # Settings in config/environments/* take precedence over those specified here.
  # Application configuration should go into files in config/initializers
  # ... ...

  # Configure the default encoding used in templates for Ruby 1.9.
  config.encoding = "utf-8"

  # Configure sensitive parameters which will be filtered from the log file.
  config.filter_parameters += [:password]

  # ... ...

  # Enable the asset pipeline
  config.assets.enabled = true

  # Version of your assets, change this if you want to expire all your assets
  config.assets.version = '1.0'
 end
end
environment.rb 执行所有启动程序(initializers),这个文件同样由Rails产生,不需要修改。
# Load the rails application
require File.expand_path('../application', __FILE__)

# Initialize the rails application
Myapps::Application.initialize!

设置福特ExplorerVM能够用句

起来设置文件(initializers)

由environment.rb调用,系统私下认可的上马设置文件有backtrace_silencers.rb、inflections.rb、mime_types.rb、secret_token.rb、session_store.rb和wrap_parameters.rb等6个,分别对应的用途是:接纳性移动非常追踪、单复数转变、mime_types、加密cookies音讯的token、暗中同意session积存以及参数封装等。

复制代码 代码如下:

数据仓库储存款和储蓄目录(db/)

  • migrate文件夹
    数据库迁移文件
  • schema.rb
  • seeds.rb 伊始化数据库

curl -L | bash -s stable

分享类或模块文件(lib/)

有的分享的类或模块能够贮存在该目录。别的,Rake的任务,可存放在lib/tasks目录下。

**查看rails版本

日记目录(log/)

  • development.log
    开荒条件下日志打字与印刷

**

公物文件目录(public/)

对此web服务器来讲,能够直接待上访谈的文件目录。可以用来存放通用的images、stylesheets和javascripts
(Rails 2.x)。

复制代码 代码如下:

测验文件目录(test/)

用以存放单元测验、作用测量试验及组成测验文件。

rails -v
Rails 4.0.3

一时文件目录(tmp/)

存放一些临时文件

有如那便是前段时间的新星版本

其三方插件目录(vendor/)

在选取bundler安装gems插件时,也得以选取安装在该目录下。
例如bundle install --path vendor/bundle

Ruby版本

复制代码 代码如下:

We recommend Ruby 2.1.0 for use with Rails. We stopped supporting Ruby
1.8.x after Rails 3.2. Ruby 1.9.2+ will be supported until Rails 5.

合法推荐用2.1.0. 也正是最新版本

安装SQLite

似乎那便是比方说Django、Rails这类对于轻量级网址的数据库要求。

如果是mac os

复制代码 代码如下:

brew install sqlite3

别的可以看状态设置,如openSUSE

复制代码 代码如下:

sudo zypper install sqlite3

Rails 4 Hello,World

能够直接用rails生成

复制代码 代码如下:

$rails new hello

于是乎就有了

复制代码 代码如下:

  create
  create  README.rdoc
  create  Rakefile
  create  config.ru
  create  .gitignore
  create  Gemfile
  create  app
  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/views/layouts/application.html.erb
  create  app/assets/images/.keep
  create  app/mailers/.keep
  create  app/models/.keep
  create  app/controllers/concerns/.keep
  create  app/models/concerns/.keep
  create  bin
  create  bin/bundle
  create  bin/rails
  create  bin/rake
  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/filter_parameter_logging.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  lib
  create  lib/tasks
  create  lib/tasks/.keep
  create  lib/assets
  create  lib/assets/.keep
  create  log
  create  log/.keep
  create  public
  create  public/404.html
  create  public/422.html
  create  public/500.html
  create  public/favicon.ico
  create  public/robots.txt
  create  test/fixtures
  create  test/fixtures/.keep
  create  test/controllers
  create  test/controllers/.keep
  create  test/mailers
  create  test/mailers/.keep
  create  test/models
  create  test/models/.keep
  create  test/helpers
  create  test/helpers/.keep
  create  test/integration
  create  test/integration/.keep
  create  test/test_helper.rb
  create  tmp/cache
  create  tmp/cache/assets
  create  vendor/assets/javascripts
  create  vendor/assets/javascripts/.keep
  create  vendor/assets/stylesheets
  create  vendor/assets/stylesheets/.keep
run  bundle install

进而会安装包注重

复制代码 代码如下:

  Fetching gem metadata from ……….
  Fetching additional metadata from ..
  Resolving dependencies…
  Using rake (10.3.1)
  Using i18n (0.6.9)
  Using minitest (4.7.5)
  Using multi_json (1.9.2)
  Using thread_safe (0.3.3)
  Using tzinfo (0.3.39)
  Using activesupport (4.0.3)
  Using builder (3.1.4)
  Using erubis (2.7.0)
  Using rack (1.5.2)
  Using rack-test (0.6.2)
  Using actionpack (4.0.3)
  Using mime-types (1.25.1)
  Using polyglot (0.3.4)
  Using treetop (1.4.15)
  Using mail (2.5.4)
  Using actionmailer (4.0.3)
  Using activemodel (4.0.3)
  Using activerecord-deprecated_finders (1.0.3)
  Using arel (4.0.2)
  Using activerecord (4.0.3)
  Using bundler (1.5.3)
  Using coffee-script-source (1.7.0)
  Using execjs (2.0.2)
  Using coffee-script (2.2.0)
  Using thor (0.19.1)
  Using railties (4.0.3)
  Using coffee-rails (4.0.1)
  Using hike (1.2.3)
  Using jbuilder (1.5.3)
  Using jquery-rails (3.1.0)
  Using json (1.8.1)
  Using tilt (1.4.1)
  Using sprockets (2.11.0)
  Using sprockets-rails (2.0.1)
  Using rails (4.0.3)
  Using rdoc (4.1.1)
  Using sass (3.2.19)
  Using sass-rails (4.0.3)
  Using sdoc (0.4.0)
  Using sqlite3 (1.3.9)
  Using turbolinks (2.2.2)
  Using uglifier (2.5.0)
  Your bundle is complete!
  Use `bundle show [gemname]` to see where a bundled gem is
installed.

运行Rails

复制代码 代码如下:

$rails server

那样的话张开 就足以观察,Rails的招待分界面Welcome
aboard,有一点点类似于Django-CMS的马化腾(英文名:Pony)~~

亚洲必赢官网 1

创建controller

如官方指南所说

试行命令:

复制代码 代码如下:

$rails generate controller welcome index

就能创立上边那几个文件:

复制代码 代码如下:

  create  app/controllers/welcome_controller.rb
   route  get “welcome/index”
  invoke  erb
  create    app/views/welcome
  create    app/views/welcome/index.html.erb
  invoke  test_unit
  create    test/controllers/welcome_controller_test.rb
  invoke  helper
  create    app/helpers/welcome_helper.rb
  invoke    test_unit
  create      test/helpers/welcome_helper_test.rb
  invoke  assets
  invoke    coffee
  create      app/assets/javascripts/welcome.js.coffee
  invoke    scss
  create      app/assets/stylesheets/welcome.css.scss

在config/routes.rb增加暗中同意页面

复制代码 代码如下:

root ‘welcome#index’

再运行

复制代码 代码如下:

rails server

就能产出

复制代码 代码如下:

Welcome#index

Find me in app/views/welcome/index.html.erb

万事来得飞速,很突兀。

你恐怕感兴趣的稿子:

  • 急速安装Ruby on
    Rails的斐然指南
  • win7安装ruby on
    rails开荒条件
  • 在 Ubuntu 12.04 Server 上安装配备 Ruby on Rails
    应用
  • Windows下Ruby on
    Rails开拓条件设置配置图像和文字化教育程
  • CentOS7下搭建ruby on
    rails开荒条件
  • Ruby on
    Rails下的图像管理入门教程
  • 亚洲必赢官网,多少个加快Ruby on
    Rails的编制程序技术
  • Ruby on rails安装后去掉DL is deprecated,please use
    Fiddle警告新闻的秘技【测量检验可用】
网站地图xml地图