$resourceサービスのRESTアクション(create、index、show、update、destroy)をサービスとして定義してあるので、このサービスを使って登録機能を追加しました。
続きを読む
アーカイブ
AngularJSとRails4でRestアプリ作成(5)AngularJSのresourceを使ってshowアクションを追加
前回サーバーに対する$resourceサービスのRESTアクション(create、index、show、update、destroy)をサービスとして定義しましたので、このサービスを使ってshowアクションを追加します。
続きを読む
AngularJSとRails4でRestアプリ作成(4)RESTアクションをfactoryメソッドを使ってサービス化
前回、AngularJSのresourceサービスを使ってサーバーのデータベースからデータを取得して表示しました。
今回は、サーバーに対する$resourceサービスのRESTアクション(create、index、show、update、destroy)をサービスとして定義します。
続きを読む
AngularJSとRails4でRestアプリ作成(3)AngularJSの$resourceサービスを使ってサーバーデータを取得
前回までは、AngularJSのスクリプト内に定義したデータを表示していました。
今回は、AngularJSのresourceサービスを使ってサーバーのデータベースからデータを取得して表示します。
続きを読む
AngularJSとRails4でRestアプリ作成(2)AngularJSのルート、テンプレートの設定
1)AngularJSのrouteサービスを導入
①angular-routeをインクルード
$ vi app/assets/javascripts/application.js
//= require angular-route
②ngRouteを依存性の設定に追加
$ vi app/assets/javascripts/mymodule.js
var mymodule = angular.module(“myModule”, [‘ngRoute’]);
2)ルートプロバイダ、パーシャルテンプレートの設定
ファイル内でRailsのヘルパーを使用するため、ファイルの拡張子に.erbを追加しています。
$ vi app/assets/javascripts/mymodule.js.erb
var mymodule = angular.module("myModule", ['ngRoute']);
mymodule.config(function($routeProvider) {
$routeProvider
.when("/users/dummy", {
templateUrl: "<%= asset_path('users/dummy.html') %>",
controller: "UsersDummyCtrl" })
.otherwise({
templateUrl: "<%= asset_path('users/index.html') %>",
controller: "UsersIndexCtrl" });
});
3)インデックスのコントローラファイル作成
上記でAngularJSのルート設定を行い、各ルート毎にパーシャルテンプレートとコントローラを定義する形に変更したので、インデックス用のコントローラを定義します。
$ vi app/assets/javascripts/mymodule.js.erb
mymodule.controller("UsersIndexCtrl", function($scope) {
$scope.users = [
{
name: "相川 一郎",
email: "aikawa@example.com"
},
{
name: "石井 二郎",
email: "ishii@example.com"
},
]
});
4)パーシャルテンプレートファイルを作成
①indexのパーシャルテンプレートを作成
今までapp/views/users/index.html.erbに記述していた内容をパーシャルテンプレートファイルに記述します。
動作確認のためダミーページへのリンクを追加しています。
$ vi app/assets/templates/users/index.html
<div ng-controller="UsersIndexCtrl">
<h3>ユーザー一覧</h3>
<table class="table table-bordered">
<thead>
<td>名前</td>
<td>メールアドレス</td>
</thead>
<tbody>
<tr ng-repeat="user in users">
<td>
{_{user.name}}
</td>
<td>
{_{user.email}}
</td>
</tr>
</tbody>
</table>
<a href="#/users/dummy">ダミー</a>
</div>
②ダミーページのパーシャルビューを仮作成
$ vi app/assets/templates/users/dummy.html
<h3>ダミー</h3>
5)AngularJSのレイアウトテンプレートファイルを作成
Railsのconfig/route.rbでUsersコントローラのindexアクションをrootにしているので、とりあえずこのビューをレイアウトテンプレートファイルとします。
$ vi app/views/users/index.html.erb
<div ng-view></div>
6)動作確認
http://localhost:3000/
上記URLでインデックスページが表示され、ダミーのリンク押下でダミーページが表示される事を確認します。
AngularJSとRails4でRestアプリ作成(1)AngularJSインストール、動作確認
1)アプリ作成
$ rails new rest –skip-test-unit
2)Gemfile設定、インストール
①Gemfile
・多くの機能がAngularJSと重複するようなので、ここではTurbolinksを無効にしています。
$ vi Gemfile
#無効にする #gem 'turbolinks' #コメントを削除 gem 'therubyracer', platforms: :ruby #追加 gem 'bootstrap-sass' gem 'angularjs-rails'
②インストール
$ bundle install
3)AngularJSをインクルード
$ vi app/assets/javascripts/application.js
//= require jquery //= require jquery_ujs //= require angular
4)Bootstrap3をスタイルシートファイルでインポート
$ vi app/assets/stylesheets/main.css.scss
@import “bootstrap”;
5)Railsコントローラ作成
Usersコントローラとindexアクションを作成します。
$ rails generate controller Users index
6)AngularJSのモジュール、コントローラ設定
①コントローラファイル作成
モジュールとコントローラを定義します。
$ vi app/assets/javascripts/mymodule.js
var mymodule = angular.module("myModule", []);
mymodule.controller("UsersCtrl", function($scope) {
$scope.users = [
{
name: "相川 一郎",
email: "aikawa@example.com"
},
{
name: "石井 二郎",
email: "ishii@example.com"
},
]
});
②インクルード設定追加
$ vi app/assets/javascripts/application.js
//= require mymodule
7)アプリケーションレイアウトファイル作成
ターボリンクを無効にしているのでインクルード部分の’data-turbolinks-track’ => true を削除します。
ng-appでモジュール名を指定します。
$ vi app/views/layouts/application.html.erb
<!DOCTYPE html> <html ng-app="myModule"> <head> <title>Rest</title> <%= stylesheet_link_tag 'application', media: 'all' %> <%= javascript_include_tag 'application' %> <%= csrf_meta_tags %> </head> <body> <%= yield %> </body> </html>
8)ビューを作成
$ vi app/views/users/index.html.erb
<div ng-controller="UsersCtrl">
<h3>ユーザー一覧</h3>
<table class="table table-bordered">
<thead>
<td>名前</td>
<td>メールアドレス</td>
</thead>
<tbody>
<tr ng-repeat="user in users">
<td>
{_{user.name}}
</td>
<td>
{_{user.email}}
</td>
</tr>
</tbody>
</table>
</div>
9)Railsのルート設定
$ vi config/routes.rb
root to: ‘users#index’
10)動作確認
http://localhost:3000/
Bootstrap3のOffcanvasのJavaScriptをAngularJSで実行する方法
Bootstrap3のOffcanvasのサンプルをベースにレイアウトを作成しています。JavaScriptの機能をBootstrap3同梱のものからAngularJSに変更する手順をまとめました。
目次
(1)Turbolinksと一緒にAngularJSを使用する場合の注意点
(2)AngularJSの依存性のアノテーションの記述に注意
(3)折りたたみの機能をBootstrapの記述からAngularJSに変更
(4)”Toggle nav”の部分をAngularJSを使って変更
続きを読む
Ruby on Railsにブートストラップ3とAngularJSを導入する方法
Ruby on Rails環境にCSSフレームワークとしてブートストラップ3、JavaScriptフレームワークとしてAngularJSを導入する手順です。
ブートストラップ3でもJavaScriptを使用していてAngularJSの機能との干渉が気になるところですが、対応しているコンポーネントhttp://angular-ui.github.io/bootstrap/がありました。
ブートストラップ3のJavaScript機能は使用せず、こちらのツールを使用しています。
続きを読む
ブートストラップ3のjumbotronの設定内容と修整方法
ブートストラップ3のjumbotronは、offcanvasのサンプルでも使用されていますがサイトタイトル部分として利用できます。
このjumbotronのデフォルトの設定内容を確認し、デフォルトから修整してみました。
ここでは、サンプルOffcanvasで作成したサンプルページのjumbotronを修整してみます。
続きを読む
ブートストラップ3のサンプルOffcanvasを使ってレイアウト、ホームページを作成
ブートストラップ3のサンプルOffcanvasを使ってレイアウト、ホームページを作成する手順をまとめました。
続きを読む
Ruby on Railsアプリでブートストラップ3を利用する手順
Ruby on Railsアプリでブートストラップ3を利用する手順をまとめました。
続きを読む
RailsアプリをHerokuにデプロイする手順
RailsアプリをHerokuにデプロイする手順をまとめました。
続きを読む
CentOS6にHerokuをインストールする手順
Railsアプリのデプロイ確認をHerokuで行うため、Herokuのセットアップを行いました。その手順を備忘としてメモ書きました。
続きを読む
gitでブランチを作成、コミット、マージする手順
コードの修正を行う際の方法として、gitでブランチ作成、コードの修正、コミット、マスターへのマージを行う手順をまとめました。
続きを読む
GitHubリポジトリ作成、GitHubへのput手順
ローカルに作成したgitリポジトリを共有WebサービスのGitHub上にputする手順をまとめました。
続きを読む
バージョンコントロールとしてGitをインストール、初期設定
Ruby on RailsアプリのバージョンコントロールシステムとしてGitをインストール、初期設定する手順をまとめました。
続きを読む
RubyGemsとgemコマンドの概要
RubyGemsとgemコマンドの概要について簡単にまとめました。
続きを読む
CentOS6にRais4.0をインストール
CentOS6.5、RVMでRuby2.0をインストールした状態でRails4.0をインストールしました。手順を備忘としてまとめました。
続きを読む
RVMのgemsetsの概要と設定方法
RVMのgemsetsの概要と設定方法についてまとめました。
※RVMとrubyのインストールについては以下の記事参照。
RVMでCentOSにRuby2.0.0、Ruby1.9.2をインストール
続きを読む
RVMを使ってRubyのインストール、複数のバージョンのRubyを管理
RVMのインストール、RVMを使ったRubyのインストール、RVMを使って複数のRubyを管理する方法などをまとめました。
続きを読む