3--第一个Rails程序(不完全版)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3--第一个Rails程序(不完全版)相关的知识,希望对你有一定的参考价值。

  1. 选择工程目录
  2. 创建名为maizi2的工程(工程名要避免与Rails关键字不同,否则创建会失败)

技术分享

可以看到工程maizi2成功创建了:

技术分享

3.

?

技术分享

?

app文件夹是核心文件夹,MVC代码都在这个文件夹里面:

assets是资源文件,层叠样式表和javascript和图片资源都在这个文件夹里面

技术分享

config文件夹是进行数据库的配置,环境的配置,以及路由的配置

test文件夹存放所有Rails应用的测试代码,后面我们会专门学习编写Rails的test代码

lib文件夹和vendor文件夹存放项目需要的第三方库,比如我们自己写的一些内部调用接口、javascript接口等等。

Gemfile文件是配置项目所有依赖的gem包,里面以gem打头的表示后面就是项目依赖的gem包

要正确了解并使用Gemfile,首先要了解一下bundler,它是一个library管理工具(库管理工具),因为一个项目用到的gem包可能非常多,所以需要一个bundler根据Gemfile的 内容来管理与配置项目当前的gem包。

使用很简单:

gem ‘rails‘, ‘4.2.5.1‘ ????????#逗号隔开,前面是gem包,后面是版本号

gem ‘sqlite3‘ ????????#没有版本号代表默认使用最新版本

gem ‘sass-rails‘, ‘~> 5.0‘????????#至少版本大于5.0并且使用最大版本

gem ‘uglifier‘, ‘>= 1.3.0‘????????#最低版本要大于等于1.3.0

那么怎么安装gem包呢,--skip-bundle表示我们在生成rails程序的时候跳过了bundle的安装过程(安装的话bundle自动根据Gemfile去安装配置相关gem包),而是我们后面自己再用bundle安装配置gem包,如果不选择跳过这个过程会出错,因为Gemfile默认gem源是被墙的国外网站,所以要先更改。

技术分享

改为:

技术分享

进入rails工程目录maizi2,然后让bundle根据Gemfile安装所有配置好的gem包,bundle install一个命令就能配置好所有需要的gem包十分方便。

技术分享

?

技术分享

技术分享

上面是有个gem包没装成,那么就单独安装这个gem包好了:

技术分享

安装输入错误会失败:

技术分享

要打开网页访问,必须进入目录盘rails server,如上还没进入程序目录,所以http://localhost:3000/访问失败,如下才是访问成功:

技术分享

?

?

ExecJS:ProgramError in Home#index

ExecJS::ProgramError in Home#index

问题产生

  1. cmd下,执行"rails new blog2"命令创建blog2项目;
  2. 接着执行"cd blog2"命令进入blog2目录;
  3. 执行"rails generate controller home index",创建一个首页,新增一个控制器,并制定一个动作;
  4. 打开"config\routes.rb",添加‘ root :to => ?"home#index" ‘,并保存;
  5. 执行"rails server"
  6. 打开网址:http://localhost:3000/

    ? ??出现以下错误提示


    技术分享
    ?

    解决办法

    打开..\app\assets\javascripts\application.js文件,"删除"最后两行:

    ?//= require turbolinks

    ?//= require_tree .

    ?即可。

    ?

    ?

以上是关于3--第一个Rails程序(不完全版)的主要内容,如果未能解决你的问题,请参考以下文章

Boost程序库完全开发指南——深入C++“准”标准库(第3版)

javascript高级程序设计(第3版)之《script元素》

算法(第4版)-1.4.10 展望

[vscode]--HTML代码片段(基础版,reactvuejquery)

以下代码片段是不是容易受到 Rails 5 中 SQL 注入的影响?

Rails:旧数据与新数据不匹配时如何更新片段缓存