Ruby on Rails チュートリアル
Ruby on Railsスタートガイド
サーチ…
備考
Ruby on Rails(RoR)、すなわちRailsは、オープンソースの人気Webアプリケーションフレームワークです。 Railsは、Ruby、HTML、CSS、およびJavaScriptを使用して、Webサーバー上で動作するWebアプリケーションを作成します。 RailsはMVC(Model-View-Controller)パターンを使用し、データベースからビューまでの完全なライブラリを提供します。
バージョン
バージョン | 発売日 |
---|---|
5.1.2 | 2017-06-26 |
5.0 | 2016年6月30日 |
4.2 | 2014年12月19日 |
4.1 | 2014-04-08 |
4.0 | 2013-06-25 |
3.2 | 2012-01-20 |
3.1 | 2011-08-31 |
3.0 | 2010-08-29 |
2.3 | 2009-03-16 |
2.0 | 2007年12月7日 |
1.2 | 2007年01月19日 |
1.1 | 2006-03-28 |
1.0 | 2005-12-13 |
Ruby on Railsアプリケーションの作成
この例では、 RubyとRuby on Railsがすでに正しくインストールされていることを前提としています。そうでない場合、 ここでそれを行う方法を見つけることができます。
コマンドラインまたはターミナルを開きます。新しいrailsアプリケーションを生成するには、 rails newコマンドの後にアプリケーションの名前を続けて使用します。
$ rails new my_app
特定のRailsバージョンでRailsアプリケーションを作成する場合は、アプリケーションの生成時に指定できます。これを行うには、 rails _version_ new
後にアプリケーション名を続けて使用します。
$ rails _4.2.0_ new my_app
これはと呼ばれるRailsアプリケーションを作成しますMyApp
中my_app
ディレクトリを、すでにに記載されている宝石の依存関係をインストールGemfile
使用してbundle install
。
新しく作成したアプリのディレクトリに切り替えるには、 cd
コマンドを使用します。これは、 change directory
を表します。
$ cd my_app
my_app
ディレクトリには、Railsアプリケーションの構造を構成するいくつかの自動生成ファイルとフォルダがあります。以下は、デフォルトで作成されるファイルとフォルダの一覧です。
ファイルフォルダー | 目的 |
---|---|
app / | アプリケーションのコントローラ、モデル、ビュー、ヘルパー、メーラ、およびアセットが含まれます。 |
ビン/ | あなたのアプリケーションを起動するレールスクリプトを含み、アプリケーションの設定、更新、デプロイ、または実行に使用する他のスクリプトを含むことができます。 |
config / | アプリケーションのルート、データベースなどを構成します。 |
config.ru | アプリケーションを起動するために使用されるラックベースのサーバのためのラック構成。 |
db / | 現在のデータベーススキーマとデータベース移行が含まれます。 |
Gemfile Gemfile.lock | これらのファイルを使用すると、Railsアプリケーションに必要なgemの依存関係を指定できます。これらのファイルはBundler gemによって使用されます。 |
lib / | アプリケーション用の拡張モジュール。 |
ログ/ | アプリケーションログファイル。 |
パブリック/ | 世界で見られる唯一のフォルダです。静的ファイルとコンパイル済みのアセットが含まれます。 |
Rakefile | このファイルは、コマンドラインから実行できるタスクを検索して読み込みます。タスク定義は、Railsのコンポーネント全体で定義されています。 |
README.md | これはアプリケーションの簡単な説明書です。このファイルを編集して、他の人にあなたのアプリケーションが何をしているのか、どのように設定するのかなどを教えてください。 |
テスト/ | ユニットテスト、フィクスチャ、およびその他のテスト装置。 |
一時的/ | 一時ファイル(キャッシュやpidファイルなど)。 |
ベンダー/ | すべてのサードパーティコードの場所。典型的なRailsアプリケーションでは、これは販売された宝石を含みます。 |
これで、 database.yml
ファイルからデータベースを作成する必要があります:
rake db:create
# OR
rails db:create
rake db:create
データベースを作成したので、テーブルを設定するためにマイグレーションを実行する必要があります。
rake db:migrate
# OR
rails db:migrate
rake db:migrate
アプリケーションを起動するには、サーバーを起動する必要があります。
$ rails server
# OR
$ rails s
デフォルトでは、レールはポート3000でアプリケーションを起動します。異なるポート番号でアプリケーションを起動するには、
$ rails s -p 3010
ブラウザーでhttp:// localhost:3000に移動すると、アプリケーションが現在実行中であることを示すRailsのようこそページが表示されます。
エラーが発生すると、いくつかの問題が発生する可能性があります。
-
config/database.yml
問題がありconfig/database.yml
- インストールされていない
Gemfile
依存関係があります。 - 保留中の移行があります。
rails db:migrate
実行rails db:migrate
- 以前の移行
rails db:rollback
移動する場合rails db:rollback
それでもエラーが発生した場合は、 config/database.yml
確認してください。
選択したデータベースとRSpecテストツールを含む新しいRailsアプリケーションを作成する
Railsはデフォルトのデータベースとしてsqlite3
を使用しますが、あなたが選んだデータベースを使って新しいrailsアプリケーションを生成することができます。 -d
オプションの後にデータベースの名前を追加するだけです。
$ rails new MyApp -T -d postgresql
これは、利用可能なデータベースオプションのリスト(非網羅的)です:
- mysql
- オラクル
- postgresql
- sqlite3
- フロントベース
- ibm_db
- SQLサーバー
- jdbcmysql
- jdbcsqlite3
- jdbcpostgresql
- jdbc
-Tコマンドは、minitestのインストールをスキップすることを示します。 RSpecのような別のテストスイートをインストールするには、 Gemfileを編集して、
group :development, :test do
gem 'rspec-rails',
end
次に、コンソールから次のコマンドを起動します。
rails generate rspec:install
コントローラの生成
コントローラ(例えばPosts
)を生成するには、コマンドラインまたはターミナルからプロジェクトディレクトリに移動し、次のコマンドを実行します。
$ rails generate controller Posts
このコードを短縮generate
は、 generate
をg
に置き換えgenerate
例:
$ rails g controller Posts
新しく生成されたapp / controllers / posts_controller.rbを開くと、アクションのないコントローラが表示されます:
class PostsController < ApplicationController
# empty
end
コントローラー名の引数を渡すことで、コントローラーのデフォルトのメソッドを作成することができます。
$ rails g controller ControllerName method1 method2
モジュール内にコントローラを作成するには、コントローラ名をparent_module/controller_name
ようなパスで指定します。例えば:
$ rails generate controller CreditCards open debit credit close
# OR
$ rails g controller CreditCards open debit credit close
これにより、次のファイルが生成されます。
Controller: app/controllers/credit_cards_controller.rb
Test: test/controllers/credit_cards_controller_test.rb
Views: app/views/credit_cards/debit.html.erb [...etc]
Helper: app/helpers/credit_cards_helper.rb
コントローラは、単にApplicationController
から継承するように定義されたクラスです。
このクラスの中に、このコントローラーのアクションになるメソッドを定義します。
足場でリソースを生成する
guides.rubyonrails.orgから:
直接モデルを生成する代わりに。 。 。足場を設定しましょう。 Railsの足場は、モデルのフルセット、そのモデルのデータベース移行、それを操作するコントローラ、データを表示および操作するためのビュー、および上記のそれぞれのためのテストスイートです。
文字列名とテキスト記述を持つTask
というリソースを足場にした例を次に示します。
rails generate scaffold Task name:string description:text
これにより、次のファイルが生成されます。
Controller: app/controllers/tasks_controller.rb
Test: test/models/task_test.rb
test/controllers/tasks_controller_test.rb
Routes: resources :tasks added in routes.rb
Views: app/views/tasks
app/views/tasks/index.html.erb
app/views/tasks/edit.html.erb
app/views/tasks/show.html.erb
app/views/tasks/new.html.erb
app/views/tasks/_form.html.erb
Helper: app/helpers/tasks_helper.rb
JS: app/assets/javascripts/tasks.coffee
CSS: app/assets/stylesheets/tasks.scss
app/assets/stylesheets/scaffolds.scss
Task
と呼ばれるリソースのscaffoldによって生成されたファイルを削除する例
rails destroy scaffold Task
非標準のデータベースアダプタを使用して新しいRailsアプリケーションを作成する
Railsはデフォルトで、 同じ名前のパターンから派生したORM(Object Relational Mapping)であるActiveRecord
で出荷されます。
ORMとして、リレーショナル・マッピングを処理するように、より正確にはSQLリクエストを処理するように構築されているため、SQLデータベースのみに制限があります。
ただし、別のデータベース管理システムを使用してRailsアプリケーションを作成することはできます。
- アクティブレコードなしでアプリを作成するだけです
$ rails app new MyApp --skip-active-record
- 独自のデータベース管理システムを
Gemfile
追加する
gem 'mongoid', '~> 5.0'
-
bundle install
し、目的のデータベースからインストール手順に従います。
この例では、 mongoid
対象のマッピングであるMongoDB
レールのために構築された多くの他のデータベース宝石として- -それはまたから継承ActiveModel
と同じようにActiveRecord
ような等検証、コールバック、翻訳などの多くの機能のための共通インタフェースを提供し、 。
他のデータベースアダプタには次のものがありますが、これらに限定されません。
データマッパ
後編
JSONでのRails APIの作成
この例では、Railsアプリケーションの作成経験があることを前提としています。
Rails 5にAPI専用アプリケーションを作成するには、
rails new name-of-app --api
Gemfileでactive_model_serializersを追加する
gem 'active_model_serializers'
端末にバンドルをインストールする
bundle install
使用するActiveModelSerializer
アダプタを設定します:json_api
# config/initializers/active_model_serializer.rb
ActiveModelSerializers.config.adapter = :json_api
Mime::Type.register "application/json", :json, %w( text/x-json application/jsonrequest application/vnd.api+json )
あなたのリソースのための新しい足場を生成する
rails generate scaffold Task name:string description:text
これにより、次のファイルが生成されます。
コントローラ:app / controllers / tasks_controller.rb
Test: test/models/task_test.rb
test/controllers/tasks_controller_test.rb
Routes: resources :tasks added in routes.rb
Migration: db/migrate/_create_tasks.rb
Model: app/models/task.rb
Serializer: app/serializers/task_serializer.rb
Controller: app/controllers/tasks_controller.rb
Railsのインストール
UbuntuにRailsをインストールする
きれいなubuntu上で、Railsのインストールはまっすぐ進むべきです
ubuntuパッケージのアップグレード
sudo apt-get update
sudo apt-get upgrade
RubyとRailsの依存関係をインストールする
sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev
Rubyバージョンマネージャのインストール。この場合、簡単なものはrbenvを使用しています
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
Rubyビルドのインストール
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
シェルを再起動する
exec $SHELL
ルビーをインストールする
rbenv install 2.3.1
rbenv global 2.3.1
rbenv rehash
レールの取り付け
gem install rails
WindowsにRailsをインストールする
ステップ1: Rubyのインストール
Rubyプログラミング言語がインストールされている必要があります。 RubyInstallerと呼ばれるRubyのプリコンパイル版を使用することができます。
- rubyinstaller.orgからRubyインストーラをダウンロードして実行します 。
- インストーラを実行します。 "あなたのPATHにRuby実行可能ファイルを追加"をチェックし、インストールしてください。
- Rubyにアクセスするには、Windowsのメニューからすべてのプログラムをクリックし、Rubyまでスクロールして、「Rubyでコマンドプロンプトを開始」をクリックします。コマンドプロンプトターミナルが開きます。
ruby -v
と入力してEnterキーを押すと、インストールしたRubyのバージョン番号が表示されます。
ステップ2: Ruby開発キット
Rubyをインストールしたら、Railsをインストールしようとすることができます。しかし、いくつかのRailsライブラリは、コンパイルするためにいくつかのビルドツールを必要としており、デフォルトではWindowsにはそれらのツールがありません。 Rails Gem::InstallError: The '[gem name]' native gem requires installed build tools.
をインストールしようとするとエラーが表示された場合は、これを特定できますGem::InstallError: The '[gem name]' native gem requires installed build tools.
これを修正するには、Ruby Development Kitをインストールする必要があります。
- DevKitをダウンロードする
- インストーラを実行します。
- DevKitを永続的にインストールするフォルダを指定する必要があります。私はあなたのハードドライブのルート、
C:\RubyDevKit
インストールすることをお勧めします。 (ディレクトリ名にはスペースを使用しないでください)。
今度は、DevKitツールをRubyで利用できるようにする必要があります。
- コマンドプロンプトで、DevKitディレクトリに移動します。
cd C:\RubyDevKit
またはそれをインストールしたディレクトリ。 - DevKitの設定を初期化するには、Rubyスクリプトを実行する必要があります。
ruby dk.rb init
入力しruby dk.rb init
。今度はRubyインストールにDevKitを追加するための同じスクリプトを説明します。ruby dk.rb install
ます。
DevKitは、新しいライブラリをインストールする際にRubyツールで使用できるようになりました。
ステップ3: Rails
これでRailsをインストールできます。 RailsはRubyの宝石として登場します。コマンドプロンプトで次のように入力します。
gem install rails
Enterを押すと、 gem
プログラムはRailsの宝石のバージョンをダウンロードしてインストールし、Railsが依存している他のすべての宝石もインストールします。
ステップ4: Node.js
Railsが依存しているライブラリの中には、JavaScriptランタイムのインストールが必要なものがあります。それらのライブラリが正しく動作するようにNode.jsをインストールしましょう。
- ここからNode.jsインストーラをダウンロードしてください 。
- ダウンロードが完了したら、ダウンロードフォルダにアクセスし、
node-v4.4.7.pkg
インストーラを実行しnode-v4.4.7.pkg
。 - 完全な使用許諾契約書を読み、条項に同意し、ウィザードの残りの部分で「次へ」をクリックし、すべてをデフォルトにします。
- あなたのコンピュータに変更を加えることを許可するかどうかを尋ねるウィンドウがポップアップすることがあります。 [はい]をクリックします。
- インストールが完了したら、RailsがNode.jsにアクセスできるようにコンピュータを再起動する必要があります。
お使いのコンピュータが再起動したら、Windowsのメニューから「すべてのプログラム」をクリックし、Rubyまでスクロールして、「Rubyでコマンドプロンプトを開始」をクリックすることを忘れないでください。