{"id":1048,"date":"2015-07-29T05:27:31","date_gmt":"2015-07-29T05:27:31","guid":{"rendered":"http:\/\/www.honobono-life.info\/wpeng\/?p=1048"},"modified":"2015-07-30T06:48:29","modified_gmt":"2015-07-30T06:48:29","slug":"angularjs-navigation-menu","status":"publish","type":"post","link":"http:\/\/www.honobono-life.info\/wpeng\/angularjs-navigation-menu\/","title":{"rendered":"Ruby on Rails Tutorial Bootstrap3,AngularJS,Navigation menu"},"content":{"rendered":"<p><strong>(1)Install,Initial setting<\/strong><\/p>\r\n\r\n<p><strong>1)create a application<\/strong><\/p>\r\n\r\n<p>$ cd ~\/rails_projects<br \/>\r\n$ rails new sample_ang<\/p>\r\n\r\n<p><strong>2)Gemfile<\/strong><\/p>\r\n\r\n<p>$ cd sample_ang<br \/>\r\n$ vi Gemfile<\/p>\r\n\r\n<p>ruby &#39;2.0.0&#39;<br \/>\r\ngem &#39;therubyracer&#39;, platforms: :ruby<br \/>\r\n#gem &#39;turbolinks&#39;<\/p>\r\n\r\n<p>gem &#39;bootstrap-sass&#39;, &#39;3.3.5&#39;<br \/>\r\ngem &#39;autoprefixer-rails&#39;<br \/>\r\ngem &#39;angularjs-rails&#39;, &#39;1.4.0&#39;<br \/>\r\ngem &#39;angular-ui-bootstrap-rails&#39;,&#39;0.13.0&#39;<\/p>\r\n\r\n<p><strong>3)bundle install<\/strong><\/p>\r\n\r\n<p>$ bundle install<\/p>\r\n\r\n<p><strong>4)add AngularJS<\/strong><\/p>\r\n\r\n<p>$ vi app\/assets\/javascripts\/application.js<\/p>\r\n\r\n<p>\/\/= require jquery<br \/>\r\n\/\/= require jquery_ujs<br \/>\r\n\/\/= require angular<br \/>\r\n\/\/= require angular-ui-bootstrap-tpls<\/p>\r\n\r\n<p><strong>5)add Bootstrap<\/strong><\/p>\r\n\r\n<p>$ vi app\/assets\/stylesheets\/custom.css.scss<\/p>\r\n\r\n<p>@import &quot;bootstrap-sprockets&quot;;<br \/>\r\n@import &quot;bootstrap&quot;;<\/p>\r\n\r\n<p><strong>(2)AngularJS Module<\/strong><\/p>\r\n\r\n<p><strong>1)app\/assets\/javascripts\/mymodule.js<\/strong><\/p>\r\n\r\n<p>$ vi app\/assets\/javascripts\/mymodule.js<\/p>\r\n\r\n<p>myModule = angular.module(&#39;myModule&#39;, [&#39;ui.bootstrap&#39;])<\/p>\r\n\r\n<p><strong>2)application.html.erb<\/strong><\/p>\r\n\r\n<p>$ vi app\/views\/layouts\/application.html.erb<\/p>\r\n\r\n<p>&lt;html ng-app=&quot;myModule&quot;&gt;<\/p>\r\n\r\n<p><strong>3)app\/assets\/javascripts\/application.js<\/strong><\/p>\r\n\r\n<p>$ vi app\/assets\/javascripts\/application.js<\/p>\r\n\r\n<p>\/\/= require mymodule<\/p>\r\n\r\n<p><strong>(3)Bootstrap3 Navigation Menu<\/strong><\/p>\r\n\r\n<p><strong>1)Bootstrap3 Fixed navbar<\/strong><br \/>\r\nref.http:\/\/getbootstrap.com\/examples\/navbar-fixed-top\/<\/p>\r\n\r\n<p>$ vi app\/views\/layouts\/_header.html.erb<\/p>\r\n\r\n<pre class=\"prettyprint\">\r\n&lt;!-- Fixed navbar --&gt;\r\n&lt;nav class=&quot;navbar navbar-default navbar-fixed-top&quot;&gt;\r\n  &lt;div class=&quot;container&quot;&gt;\r\n    &lt;div class=&quot;navbar-header&quot;&gt;\r\n      &lt;button type=&quot;button&quot; class=&quot;navbar-toggle collapsed&quot; data-toggle=&quot;collapse&quot; data-target=&quot;#navbar&quot; aria-expanded=&quot;false&quot; aria-controls=&quot;navbar&quot;&gt;\r\n        &lt;span class=&quot;sr-only&quot;&gt;Toggle navigation&lt;\/span&gt;\r\n        &lt;span class=&quot;icon-bar&quot;&gt;&lt;\/span&gt;\r\n        &lt;span class=&quot;icon-bar&quot;&gt;&lt;\/span&gt;\r\n        &lt;span class=&quot;icon-bar&quot;&gt;&lt;\/span&gt;\r\n      &lt;\/button&gt;\r\n      &lt;a class=&quot;navbar-brand&quot; href=&quot;#&quot;&gt;Project name&lt;\/a&gt;\r\n    &lt;\/div&gt;\r\n    &lt;div id=&quot;navbar&quot; class=&quot;navbar-collapse collapse&quot;&gt;\r\n      &lt;ul class=&quot;nav navbar-nav&quot;&gt;\r\n        &lt;li class=&quot;active&quot;&gt;&lt;a href=&quot;#&quot;&gt;Home&lt;\/a&gt;&lt;\/li&gt;\r\n        &lt;li&gt;&lt;a href=&quot;#about&quot;&gt;About&lt;\/a&gt;&lt;\/li&gt;\r\n        &lt;li&gt;&lt;a href=&quot;#contact&quot;&gt;Contact&lt;\/a&gt;&lt;\/li&gt;\r\n        &lt;li class=&quot;dropdown&quot;&gt;\r\n          &lt;a href=&quot;#&quot; class=&quot;dropdown-toggle&quot; data-toggle=&quot;dropdown&quot; role=&quot;button&quot; aria-haspopup=&quot;true&quot; aria-expanded=&quot;false&quot;&gt;Dropdown &lt;span class=&quot;caret&quot;&gt;&lt;\/span&gt;&lt;\/a&gt;\r\n          &lt;ul class=&quot;dropdown-menu&quot;&gt;\r\n            &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Action&lt;\/a&gt;&lt;\/li&gt;\r\n            &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Another action&lt;\/a&gt;&lt;\/li&gt;\r\n            &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Something else here&lt;\/a&gt;&lt;\/li&gt;\r\n            &lt;li role=&quot;separator&quot; class=&quot;divider&quot;&gt;&lt;\/li&gt;\r\n            &lt;li class=&quot;dropdown-header&quot;&gt;Nav header&lt;\/li&gt;\r\n            &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Separated link&lt;\/a&gt;&lt;\/li&gt;\r\n            &lt;li&gt;&lt;a href=&quot;#&quot;&gt;One more separated link&lt;\/a&gt;&lt;\/li&gt;\r\n          &lt;\/ul&gt;\r\n        &lt;\/li&gt;\r\n      &lt;\/ul&gt;\r\n      &lt;ul class=&quot;nav navbar-nav navbar-right&quot;&gt;\r\n        &lt;li&gt;&lt;a href=&quot;..\/navbar\/&quot;&gt;Default&lt;\/a&gt;&lt;\/li&gt;\r\n        &lt;li&gt;&lt;a href=&quot;..\/navbar-static-top\/&quot;&gt;Static top&lt;\/a&gt;&lt;\/li&gt;\r\n        &lt;li class=&quot;active&quot;&gt;&lt;a href=&quot;.\/&quot;&gt;Fixed top &lt;span class=&quot;sr-only&quot;&gt;(current)&lt;\/span&gt;&lt;\/a&gt;&lt;\/li&gt;\r\n      &lt;\/ul&gt;\r\n    &lt;\/div&gt;&lt;!--\/.nav-collapse --&gt;\r\n  &lt;\/div&gt;\r\n&lt;\/nav&gt;<\/pre>\r\n\r\n<p><strong>2)CSS<\/strong><\/p>\r\n\r\n<p>$ vi app\/assets\/stylesheets\/custom.css.scss<\/p>\r\n\r\n<pre class=\"prettyprint\">\r\nbody {\r\n  min-height: 2000px;\r\n  padding-top: 70px;\r\n}<\/pre>\r\n\r\n<p><strong>3)app\/views\/layouts\/application.html.erb<\/strong><\/p>\r\n\r\n<p>$ vi app\/views\/layouts\/application.html.erb<\/p>\r\n\r\n<pre class=\"prettyprint\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html ng-app=&quot;myModule&quot;&gt;\r\n&lt;head&gt;\r\n  &lt;title&gt;SampleAng&lt;\/title&gt;\r\n  &lt;%= stylesheet_link_tag    &#39;application&#39;, media: &#39;all&#39; %&gt;\r\n  &lt;%= javascript_include_tag &#39;application&#39; %&gt;\r\n  &lt;%= csrf_meta_tags %&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\r\n&lt;%= render &#39;layouts\/header&#39; %&gt;\r\n&lt;%= yield %&gt;\r\n\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\r\n\r\n<p><strong>(4)Bootstrap3 Navigation Menu AngularJS<\/strong><\/p>\r\n\r\n<p><strong>1)header partial<\/strong><\/p>\r\n\r\n<p>$ vi app\/views\/layouts\/_header.html.erb<\/p>\r\n\r\n<pre class=\"prettyprint\">\r\n#1 Collapse\r\n\r\n&lt;button type=&quot;button&quot; class=&quot;navbar-toggle collapsed&quot; data-toggle=&quot;collapse&quot; data-target=&quot;#navbar&quot; aria-expanded=&quot;false&quot; aria-controls=&quot;navbar&quot;&gt;\r\n \u3000&darr;\r\n&lt;button type=&quot;button&quot; class=&quot;navbar-toggle&quot; data-toggle=&quot;collapse&quot; ng-click=&quot;isCollapsed = !isCollapsed&quot;&gt;\r\n\r\n&lt;div id=&quot;navbar&quot; class=&quot;navbar-collapse collapse&quot;&gt;\r\n\u3000&darr;\r\n&lt;div id=&quot;navbar&quot; class=&quot;navbar-collapse&quot; collapse=&quot;isCollapsed&quot;&gt;\r\n\r\n#2 Dropdown\r\n\r\n&lt;li class=&quot;dropdown&quot;&gt;\r\n  &lt;a href=&quot;#&quot; class=&quot;dropdown-toggle&quot; data-toggle=&quot;dropdown&quot; role=&quot;button&quot; aria-haspopup=&quot;true&quot; aria-expanded=&quot;false&quot;&gt;Dropdown &lt;span class=&quot;caret&quot;&gt;&lt;\/span&gt;&lt;\/a&gt;\r\n  &lt;ul class=&quot;dropdown-menu&quot;&gt;\r\n\u3000\u3000&darr;\r\n&lt;li class=&quot;dropdown&quot; dropdown&gt;\r\n  &lt;a class=&quot;dropdown-toggle&quot; dropdown-toggle&gt;Dropdown &lt;span class=&quot;caret\r\n&quot;&gt;&lt;\/span&gt;&lt;\/a&gt;\r\n  &lt;ul class=&quot;dropdown-menu&quot;&gt;<\/pre>\r\n\r\n<p><strong>2)AngularJS Script<\/strong><\/p>\r\n\r\n<p>$ vi app\/assets\/javascripts\/mymodule.js<\/p>\r\n\r\n<pre class=\"prettyprint\">\r\nmyModule = angular.module(&#39;myModule&#39;, [&#39;ui.bootstrap&#39;])\r\n\r\nfunction CollapseDemoCtrl($scope) {\r\n  $scope.isCollapsed = true;\r\n}\r\nCollapseDemoCtrl.$inject = [&#39;$scope&#39;];\r\nmyModule.controller(&#39;CollapseDemoCtrl&#39;, CollapseDemoCtrl);<\/pre>\r\n\r\n<p><strong>3)Header Partial<\/strong><\/p>\r\n\r\n<p>$ vi app\/views\/layouts\/_header.html.erb<\/p>\r\n\r\n<p>&lt;nav &nbsp;ng-controller=&quot;CollapseDemoCtrl&quot; class=&quot;navbar navbar-default navbar-fixed-top&quot;&gt;<\/p>\r\n\r\n<p><strong>(5)Rails Root<\/strong><\/p>\r\n\r\n<p>$ vi app\/controllers\/layouts_controller.rb<\/p>\r\n\r\n<pre class=\"prettyprint\">\r\nclass LayoutsController &lt; ApplicationController\r\n  def index\r\n    render &quot;layouts\/application&quot;\r\n  end\r\nend\r\n\r\n$ vi config\/routes\r\n  root &#39;layouts#index&#39;<\/pre>\r\n\r\n<p><br \/>\r\n<strong>(6)test operation<\/strong><\/p>\r\n\r\n<p>http:\/\/localhost:3000\/<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>(1)Install,Initial setting 1)create a application $ cd ~\/rails_projects $ rails new sample_ang 2)Gemfile $ cd sample_ang $ vi Gemfile ruby &#39;2.0.0&#39; gem &#39;therubyracer&#39;, platforms: :ruby #gem &#39;turbolinks&#39; gem &#39;bootstrap-sass&#39;, &#39;3.3.5&#39; gem &#39;autoprefixer-rails&#39; gem &#39;angularjs-rails&#39;, &#39;1.4.0&#39; gem &#39;angular-ui-bootstrap-rails&#39;,&#39;0.13.0&#39; 3)bundle install $ bundle install 4)add AngularJS $ vi app\/assets\/javascripts\/application.js \/\/= require jquery \/\/= require jquery_ujs \/\/= require [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[137],"tags":[138,139],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/1048"}],"collection":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/comments?post=1048"}],"version-history":[{"count":3,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/1048\/revisions"}],"predecessor-version":[{"id":1068,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/1048\/revisions\/1068"}],"wp:attachment":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/media?parent=1048"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/categories?post=1048"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/tags?post=1048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}