- 浏览: 2542934 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
nation:
你好,在部署Mesos+Spark的运行环境时,出现一个现象, ...
Spark(4)Deal with Mesos -
sillycat:
AMAZON Relatedhttps://www.godad ...
AMAZON API Gateway(2)Client Side SSL with NGINX -
sillycat:
sudo usermod -aG docker ec2-use ...
Docker and VirtualBox(1)Set up Shared Disk for Virtual Box -
sillycat:
Every Half an Hour30 * * * * /u ...
Build Home NAS(3)Data Redundancy -
sillycat:
3 List the Cron Job I Have>c ...
Build Home NAS(3)Data Redundancy
Rails Study(I)Getting Started with Rails
1. MVC Architecture
1.1. Models
One table in my database will correspond to one model in my application.
The bulk of my application's bussiness logic will be concentrated in the models.
1.2. Views
Views are often HTML files with embedded Ruby code that perform tasks related solely to the presentation of the data.
1.3. Controllers
Controllers provide the "glue" between models and views.
2. The Components of Rails
Action Pack
Action Controller
Action Dispatch
Action View
Action Mailer
Action Model
Action Record
Action Resource
Active Support
Railties
2.1 Action Pack
2.1.1 Action Controller
Action Controller processes incoming requests to a Rails application, extracts parameters, and dispatches them to the intended
action.
Services provided by Action Controller include session management, template rendering, and redirect management.
2.1.2 Action view
Action view can create both HTML and XML output. Action View manages rendering templates, including nested and partial
templates, and includes built-in AJAX support.
2.1.3 Action Dispatch
2.1.4 Action Mailer
A framework for building e-mail services.
2.1.5 Action Model
Action Model -----> Business Logic -----> ORM
2.1.6 Action Record
CRUD functionality
2.1.7 Action Resource
2.1.8 Action Support
2.2 REST
3. Creating a New Rails Project
Creating a Blog Application
>rails new railsexample
or I can create a rails project in eclipse.
type >rails -h in eclipse command console for more information.
File Purpose
Gemfile This file allows you to specify what gem dependencies are needed for your Rails application
Readme
Rakefile This file contains batch jobs that can be run from the terminal
config.ru Rack configuration for Rack based servers used to start the application.
Folder Purpose
app Contains the controllers, models, and views for your application. You'll focus on this folder for the remainder of this
guide.
config Configure your application's runtime rules, routes, database, and more.
db Shows your current database schema
doc
lib Extended modules for my application
log
public This is where you put your images, javasript, stylesheets(CSS), and other static files.
script Contains the rails script that starts your app and can contain other scripts you use to deploy or run applications
test
tmp
vendor A place for all third-party code. In a typical Rails application, this includes Ruby Gems, the Rails source code (if you install
it into your project) and plugins containing additional prepackaged functionality.
3.1 Installing the Required Gems
>bundle install
3.2 Configuring a Database
config/database.yml
3.2.1 Configuring an SQLite3 Database
development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000
3.2.2 Configuring a MySQL Database
development:
adapter: mysql2
encoding: utf8
database: example_development
pool: 5
username: root
password:
socket: /tmp/mysql.sock
3.3 Creating the Database
>rake db:create
error message:
rake aborted!
uninitialized constant Rake::DSL
d:/tool/Ruby192/lib/ruby/1.9.1/rake.rb:2482:in `const_missing'
d:/tool/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:8:in `<class:TaskLib>'
Solutions:
Change the Rakefile
require File.expand_path('../config/application', __FILE__)
require 'rake/dsl_definition'
module ::Railsexample
class Application
include Rake::DSL
end
end
module ::RakeFileUtils
extend Rake::FileUtilsExt
end
Railsexample::Application.load_tasks
>bundle update
>rake db:create
error message:
uninitialized constant Mysql2
solution:
>gem install mysql2
Fetching: mysql2-0.3.6.gem (100%)
error message:
ERROR: Error installing mysql2:
The 'mysql2' native gem requires installed build tools.
Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads' and follow the instructions
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'
solution:
Download the file DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe in 7zip format from that URL
Create a directory devkit and unzip the file there with 7zip software.
Copy the directory devkit to d:/tool/devkit
>cd d:/tool/devkit
>ruby dk.rb init
This step will list the installation of ruby and generate a file named config.yml
>ruby dk.rb install
After all the steps, do install mysql2 again.
>gem install mysql2
No, but the problem is still there.
>gem install mysql2 -v 0.2.6 --platform x86-mingw32
change Gemfile and add one line
gem 'mysql2', '0.2.6'
>rake db:create
error message:
The program can't start because LIBMYSQL.dll is missing from your
computer. Try reinstalling the program to fix this problem.
solution:
Copy file D:\ProgramFiles\MySQL\MySQL Server 5.5\lib\libmysql.dll to directory D:\tool\Ruby192\bin
try again. >rake db:create
error message:
193: %1 is not a valid Win32 application. - d:/tool/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x
86-mingw32/lib/mysql2/1.9/mysql2.so
try other ways
>gem install mysql2 -v 0.2.6 -- --with-mysql-dir="D:\ProgramFiles\MySQL\MySQL Server 5.5"
try other ways
>gem install mysql2 -- --with-mysql-lib="D:\ProgramFiles\MySQL\MySQL Server 5.5\lib" --with-mysql-include="D:\ProgramFiles\MySQL\MySQL Server 5.5\include" --with-mysql-dir="D:\ProgramFiles\MySQL\MySQL Server 5.5"
try other ways
Gemfile
gem 'mysql', '2.8.1'
adapter mysql
>bundle install
>rake db:create
>gem list -d mysql
Same problem.
Finally I download the file from http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll
and put this file to ruby_home/bin.
>rake db:create
It works.
references:
http://guides.rubyonrails.org/
https://github.com/oneclick/rubyinstaller/wiki/Development-Kit
http://www.iteye.com/topic/1001758
1. MVC Architecture
1.1. Models
One table in my database will correspond to one model in my application.
The bulk of my application's bussiness logic will be concentrated in the models.
1.2. Views
Views are often HTML files with embedded Ruby code that perform tasks related solely to the presentation of the data.
1.3. Controllers
Controllers provide the "glue" between models and views.
2. The Components of Rails
Action Pack
Action Controller
Action Dispatch
Action View
Action Mailer
Action Model
Action Record
Action Resource
Active Support
Railties
2.1 Action Pack
2.1.1 Action Controller
Action Controller processes incoming requests to a Rails application, extracts parameters, and dispatches them to the intended
action.
Services provided by Action Controller include session management, template rendering, and redirect management.
2.1.2 Action view
Action view can create both HTML and XML output. Action View manages rendering templates, including nested and partial
templates, and includes built-in AJAX support.
2.1.3 Action Dispatch
2.1.4 Action Mailer
A framework for building e-mail services.
2.1.5 Action Model
Action Model -----> Business Logic -----> ORM
2.1.6 Action Record
CRUD functionality
2.1.7 Action Resource
2.1.8 Action Support
2.2 REST
3. Creating a New Rails Project
Creating a Blog Application
>rails new railsexample
or I can create a rails project in eclipse.
type >rails -h in eclipse command console for more information.
File Purpose
Gemfile This file allows you to specify what gem dependencies are needed for your Rails application
Readme
Rakefile This file contains batch jobs that can be run from the terminal
config.ru Rack configuration for Rack based servers used to start the application.
Folder Purpose
app Contains the controllers, models, and views for your application. You'll focus on this folder for the remainder of this
guide.
config Configure your application's runtime rules, routes, database, and more.
db Shows your current database schema
doc
lib Extended modules for my application
log
public This is where you put your images, javasript, stylesheets(CSS), and other static files.
script Contains the rails script that starts your app and can contain other scripts you use to deploy or run applications
test
tmp
vendor A place for all third-party code. In a typical Rails application, this includes Ruby Gems, the Rails source code (if you install
it into your project) and plugins containing additional prepackaged functionality.
3.1 Installing the Required Gems
>bundle install
3.2 Configuring a Database
config/database.yml
3.2.1 Configuring an SQLite3 Database
development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000
3.2.2 Configuring a MySQL Database
development:
adapter: mysql2
encoding: utf8
database: example_development
pool: 5
username: root
password:
socket: /tmp/mysql.sock
3.3 Creating the Database
>rake db:create
error message:
rake aborted!
uninitialized constant Rake::DSL
d:/tool/Ruby192/lib/ruby/1.9.1/rake.rb:2482:in `const_missing'
d:/tool/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:8:in `<class:TaskLib>'
Solutions:
Change the Rakefile
require File.expand_path('../config/application', __FILE__)
require 'rake/dsl_definition'
module ::Railsexample
class Application
include Rake::DSL
end
end
module ::RakeFileUtils
extend Rake::FileUtilsExt
end
Railsexample::Application.load_tasks
>bundle update
>rake db:create
error message:
uninitialized constant Mysql2
solution:
>gem install mysql2
Fetching: mysql2-0.3.6.gem (100%)
error message:
ERROR: Error installing mysql2:
The 'mysql2' native gem requires installed build tools.
Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads' and follow the instructions
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'
solution:
Download the file DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe in 7zip format from that URL
Create a directory devkit and unzip the file there with 7zip software.
Copy the directory devkit to d:/tool/devkit
>cd d:/tool/devkit
>ruby dk.rb init
This step will list the installation of ruby and generate a file named config.yml
>ruby dk.rb install
After all the steps, do install mysql2 again.
>gem install mysql2
No, but the problem is still there.
>gem install mysql2 -v 0.2.6 --platform x86-mingw32
change Gemfile and add one line
gem 'mysql2', '0.2.6'
>rake db:create
error message:
The program can't start because LIBMYSQL.dll is missing from your
computer. Try reinstalling the program to fix this problem.
solution:
Copy file D:\ProgramFiles\MySQL\MySQL Server 5.5\lib\libmysql.dll to directory D:\tool\Ruby192\bin
try again. >rake db:create
error message:
193: %1 is not a valid Win32 application. - d:/tool/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x
86-mingw32/lib/mysql2/1.9/mysql2.so
try other ways
>gem install mysql2 -v 0.2.6 -- --with-mysql-dir="D:\ProgramFiles\MySQL\MySQL Server 5.5"
try other ways
>gem install mysql2 -- --with-mysql-lib="D:\ProgramFiles\MySQL\MySQL Server 5.5\lib" --with-mysql-include="D:\ProgramFiles\MySQL\MySQL Server 5.5\include" --with-mysql-dir="D:\ProgramFiles\MySQL\MySQL Server 5.5"
try other ways
Gemfile
gem 'mysql', '2.8.1'
adapter mysql
>bundle install
>rake db:create
>gem list -d mysql
Same problem.
Finally I download the file from http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll
and put this file to ruby_home/bin.
>rake db:create
It works.
references:
http://guides.rubyonrails.org/
https://github.com/oneclick/rubyinstaller/wiki/Development-Kit
http://www.iteye.com/topic/1001758
发表评论
-
NodeJS12 and Zlib
2020-04-01 07:44 468NodeJS12 and Zlib It works as ... -
Traefik 2020(1)Introduction and Installation
2020-03-29 13:52 330Traefik 2020(1)Introduction and ... -
Private Registry 2020(1)No auth in registry Nginx AUTH for UI
2020-03-18 00:56 428Private Registry 2020(1)No auth ... -
Buffer in NodeJS 12 and NodeJS 8
2020-02-25 06:43 377Buffer in NodeJS 12 and NodeJS ... -
NodeJS ENV Similar to JENV and PyENV
2020-02-25 05:14 468NodeJS ENV Similar to JENV and ... -
Prometheus HA 2020(3)AlertManager Cluster
2020-02-24 01:47 414Prometheus HA 2020(3)AlertManag ... -
Serverless with NodeJS and TencentCloud 2020(5)CRON and Settings
2020-02-24 01:46 332Serverless with NodeJS and Tenc ... -
GraphQL 2019(3)Connect to MySQL
2020-02-24 01:48 243GraphQL 2019(3)Connect to MySQL ... -
GraphQL 2019(2)GraphQL and Deploy to Tencent Cloud
2020-02-24 01:48 445GraphQL 2019(2)GraphQL and Depl ... -
GraphQL 2019(1)Apollo Basic
2020-02-19 01:36 321GraphQL 2019(1)Apollo Basic Cl ... -
Serverless with NodeJS and TencentCloud 2020(4)Multiple Handlers and Running wit
2020-02-19 01:19 307Serverless with NodeJS and Tenc ... -
Serverless with NodeJS and TencentCloud 2020(3)Build Tree and Traverse Tree
2020-02-19 01:19 310Serverless with NodeJS and Tenc ... -
Serverless with NodeJS and TencentCloud 2020(2)Trigger SCF in SCF
2020-02-19 01:18 286Serverless with NodeJS and Tenc ... -
Serverless with NodeJS and TencentCloud 2020(1)Running with Component
2020-02-19 01:17 303Serverless with NodeJS and Tenc ... -
NodeJS MySQL Library and npmjs
2020-02-07 06:21 282NodeJS MySQL Library and npmjs ... -
Python Library 2019(1)requests and aiohttp
2019-12-18 01:12 257Python Library 2019(1)requests ... -
NodeJS Installation 2019
2019-10-20 02:57 565NodeJS Installation 2019 Insta ... -
Monitor Tool 2019(2)Monit on Multiple Instances and Email Alerts
2019-10-18 10:57 257Monitor Tool 2019(2)Monit on Mu ... -
Sqlite Database 2019(1)Sqlite3 Installation and Docker phpsqliteadmin
2019-09-05 11:24 362Sqlite Database 2019(1)Sqlite3 ... -
Supervisor 2019(2)Ubuntu and Multiple Services
2019-08-19 10:53 366Supervisor 2019(2)Ubuntu and Mu ...
相关推荐
If you’re an experienced developer, this book will give you the comprehensive, insider information you need., Rails has evolved over the years, and this book has evolved along with it. We still ...
《Agile Web Development with Rails》是一本经典的Rails开发指南,中文版的出版使得更多的中国开发者能够深入理解并应用敏捷开发方法与Ruby on Rails框架。这本书是Rails开发者的必备参考资料,它详细介绍了如何...
Radcircle 开发入门学习在线资源 - Ruby 和 Ruby on Rails - Ruby 和一些 Ruby on Rails - Ruby on Rails(必须有账号,但有 14 天免费试用) - 不错的 Rails 和 Ruby 备忘单 - 免费的 rails 截屏视频,非常有帮助,...
书中的"Pragmatic.Bookshelf.Agile.Web.Development.with.Rails.2nd.Edition.Dec.2006.eBook-BBL"可能是该书籍的电子版文件,它包含了全书的章节和内容。读者可以通过这个电子版深入学习Rails开发的各种技巧和最佳...
《敏捷Web开发与Rails》是一本深度探讨如何利用Ruby on Rails框架进行敏捷Web开发的指导书籍,由Dave Thomas、David Heinemeier Hansson等多位在Rails社区有着深厚贡献的作者共同编写。本书不仅覆盖了Rails的基本...
For those new to Rails, this book provides a quick introduction, the big picture, a walk through the installation process, and some tips on getting started. If you've already started working with ...
Getting Started(入门) 在这一部分,作者将引导读者如何安装和配置Ruby on Rails环境,包括Ruby语言本身、Rails框架以及相关的工具和库。这里还会涉及如何创建第一个Rails项目,以及如何运行服务器以查看项目。...
### 敏捷Web开发与Rails 3:关键知识点解析 #### 一、Rails版本与兼容性 本书《敏捷Web开发与Rails》第三版是基于Rails 2编写的。截至本书印刷时,当前可用的Rails Gem版本为2.1。书中所包含的所有代码均已在该...
《Agile Web Development With Ruby On Rails》是两本广受欢迎的书籍,主要涵盖了使用Ruby on Rails框架进行敏捷Web开发的知识。这本书的第1版和第2版分别详细讲解了如何运用敏捷开发方法来构建高效、可扩展且易于...
第五章“Getting started with testing”引导读者进入测试驱动开发的世界。本章首先介绍了测试的重要性,并逐步指导读者如何为Rails应用编写单元测试。通过实际案例,读者可以学习到如何使用RSpec和Capybara等测试...
《敏捷Web开发与Rails:程序指南 第四版》是一本深度探讨使用Ruby on Rails框架进行敏捷Web应用开发的专业书籍。本书旨在帮助开发者充分利用Rails 4的特性,提高开发效率,实现快速迭代和高质量的代码编写。 Rails是...
Learn Web Development with Rails Clear EPUB version in English, Second Edition “The author is clearly an expert at the Ruby language and the Rails framework, but more than that, he is a working ...