サーチ…


備考

ロゴ

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アプリケーションの作成

この例では、 RubyRuby on Railsがすでに正しくインストールされていることを前提とています。そうでない場合、 ここでそれを行う方法を見つけることができます。

コマンドラインまたはターミナルを開きます。新しいrailsアプリケーションを生成するには、 rails newコマンドの後にアプリケーションの名前を続けて使用します。

$ rails new my_app

特定のRailsバージョンでRailsアプリケーションを作成する場合は、アプリケーションの生成時に指定できます。これを行うには、 rails _version_ new後にアプリケーション名を続けて使用します。

$ rails _4.2.0_ new my_app 

これはと呼ばれるRailsアプリケーションを作成しますMyAppmy_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ファイルからデータベースを作成する必要があります:

5.0
rake db:create
# OR
rails db:create
5.0
rake db:create

データベースを作成したので、テーブルを設定するためにマイグレーションを実行する必要があります。

5.0
rake db:migrate
# OR
rails db:migrate
5.0
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は、 generategに置き換え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アプリケーションを作成することはできます。

  1. アクティブレコードなしでアプリを作成するだけです
$ rails app new MyApp --skip-active-record
  1. 独自のデータベース管理システムをGemfile追加する
gem 'mongoid', '~> 5.0'
  1. 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でコマンドプロンプトを開始」をクリックすることを忘れないでください。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow