{"id":2865,"date":"2021-11-13T20:12:45","date_gmt":"2021-11-13T11:12:45","guid":{"rendered":"https:\/\/suzutukiblog.com\/?p=2865"},"modified":"2022-01-22T02:45:47","modified_gmt":"2022-01-21T17:45:47","slug":"rails-tutorial","status":"publish","type":"post","link":"https:\/\/suzutukiblog.com\/index.php\/2021\/11\/13\/rails-tutorial\/","title":{"rendered":"Rails-tutorial\u306e\u81ea\u5206\u7528\u307e\u3068\u30811(\u4e3b\u306b\u6f14\u7fd2\u304c\u57fa\u672c)"},"content":{"rendered":"<h3>Rails \u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb \u8981\u70b9\u3060\u3051\u307e\u3068\u3081\u3088\u3046\u3042\u3068\u306f\u6f14\u7fd2\u306b\u3064\u3044\u3066<\/h3>\n<p>1\u7ae0\u3067hello\u30a2\u30d7\u30ea<br \/>\n2\u7ae0\u3067toy\u30a2\u30d7\u30ea scaffold\u3092\u4f7f\u3046<br \/>\n3\u7ae0\u304b\u3089\u30c6\u30b9\u30c8\u99c6\u52d5\u958b\u767a\u3001\u7d71\u5408\u30c6\u30b9\u30c8<\/p>\n<h3>\u6f14\u7fd2\uff1a\u73fe\u6642\u70b9\u3067\u306eRails\u306e\u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u306f\u3044\u304f\u3064\u3067\u3059\u304b\uff1f<\/h3>\n<p>v7.0.1<\/p>\n<h3><span class=\"number\">1.2.2\u00a0<\/span>Rails\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/h3>\n<pre><strong>printf \"install: --no-document \\nupdate: --no-document\\n\" &gt;&gt; ~\/.gemrc<\/strong>\r\n\r\n<strong>gem install rails -v 5.1.6<\/strong>\r\n\r\n<strong>cd<\/strong>\r\n<strong>mkdir environment<\/strong>\r\n<strong>cd environment\/<\/strong>\r\n<strong>rails _5.1.6_ new hello_app<\/strong><\/pre>\n<p>(app\/assets\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u3064\u3044\u3066\u3001\u30a2\u30bb\u30c3\u30c8\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306b\u3088\u3063\u3066\u3001<br \/>\nCSS\u3084JavaScript\u30d5\u30a1\u30a4\u30eb\u306a\u3069\u306e\u30a2\u30bb\u30c3\u30c8 (\u8cc7\u7523)\u3092\u7c21\u5358\u306b\u7de8\u6210\u3057\u305f\u308a\u30c7<br \/>\n\u30d7\u30ed\u30a4\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002<\/p>\n<pre><strong>app\/          \u30e2\u30c7\u30eb\u3001\u30d3\u30e5\u30fc\u3001\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u3001\u30d8\u30eb\u30d1\u30fc\u306a\u3069\u3092\u542b\u3080\u4e3b\u8981\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30b3\u30fc\u30c9\r\napp\/assets    \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u4f7f\u3046CSS (Cascading Style Sheet)\r\n\u3001JavaScript\u30d5\u30a1\u30a4\u30eb\u3001\u753b\u50cf\u306a\u3069\u306e\u30a2\u30bb\u30c3\u30c8\r\nbin\/          \u30d0\u30a4\u30ca\u30ea\u5b9f\u884c\u53ef\u80fd\u30d5\u30a1\u30a4\u30eb\r\nconfig\/       \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u8a2d\u5b9a\r\ndb\/           \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u95a2\u9023\u306e\u30d5\u30a1\u30a4\u30eb\r\ndoc\/          \u30de\u30cb\u30e5\u30a2\u30eb\u306a\u3069\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\r\nlib\/          \u30e9\u30a4\u30d6\u30e9\u30ea\u30e2\u30b8\u30e5\u30fc\u30eb\r\nlib\/assets    \u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u4f7f\u3046CSS (Cascading Style Sheet)\u3001JavaScript\u30d5\u30a1\u30a4\u30eb\u3001\u753b\u50cf\u306a\u3069\u306e\u30a2\u30bb\u30c3\u30c8\r\nlog\/          \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb\r\npublic\/       \u30a8\u30e9\u30fc\u30da-\u30b8\u306a\u3069\u3001\u4e00\u822c(Web\u30d6\u30e9\u30a6\u30b6\u306a\u3069)\u306b\u76f4\u63a5\u516c\u958b\u3059\u308b\r\n\u30c7\u30fc\u30bf\r\nbin\/rails     \u30b3\u30fc\u30c9\u751f\u6210\u3001\u30b3\u30f3\u30bd\u30fc\u30eb\u306e\u8d77\u52d5\u3001\u30ed\u30fc\u30ab\u30eb\u306eWeb\u30b5\u30fc\u30d0\r\n\u306e\u7acb\u3061\u4e0a\u3052\u306a\u3069\u3067\u4f7f\u3046Rails\u30b9\u30af\u30ea\u30d7\u30c8\r\ntest\/         \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30c6\u30b9\u30c8\r\ntmp\/          \u4e00\u6642\u30d5\u30a1\u30a4\u30eb\r\nvendor\/       \u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u3084gem\u306a\u3069\r\nvendor\/assets \u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u3084gem\u3067\u4f7f\u3046CSS\u3001\r\nJavaScript\u30d5\u30a1\u30a4\u30eb\u3001\u753b\u50cf\u306a\u3069\u306e\u30a2\u30bb\u30c3\u30c8\r\nREADME.md     \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u7c21\u5358\u306a\u8aac\u660e\r\nRakefile      rake\u30b3\u30de\u30f3\u30c9\u3067\u4f7f\u3048\u308b\u30bf\u30b9\u30af\r\nGemfile       \u3053\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u5fc5\u8981\u306aGem\u306e\u5b9a\u7fa9\u30d5\u30a1\u30a4\u30eb\r\nGemfile.lock  \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u4f7f\u308f\u308c\u308bgem\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\r\n\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306e\u30ea\u30b9\u30c8\r\nconfig.ru     Rack\u30df\u30c9\u30eb\u30a6\u30a7\u30a2\u7528\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\r\n.gitignore    Git\u306b\u53d6\u308a\u8fbc\u307f\u305f\u304f\u306a\u3044\u30d5\u30a1\u30a4\u30eb\u3092\u6307\u5b9a\u3059\u308b\u305f\u3081\u306e\u30d1\u30bf\u30fc\u30f3<\/strong><\/pre>\n<p>Gemfile\u3092\u66f8\u304d\u63db\u3048\u308b\u8868\u3092\u53c2\u7167\u3057\u3088\u3046\uff01<\/p>\n<h3>Gemfile<\/h3>\n<pre><strong><span class=\"n\">source<\/span> <span class=\"s1\">'https:\/\/rubygems.org'<\/span>\r\n\r\n<span class=\"n\">gem<\/span> <span class=\"s1\">'rails'<\/span><span class=\"p\">,<\/span>        <span class=\"s1\">'5.1.6'<\/span>\r\n<span class=\"n\">gem<\/span> <span class=\"s1\">'puma'<\/span><span class=\"p\">,<\/span>         <span class=\"s1\">'3.9.1'<\/span>\r\n<span class=\"n\">gem<\/span> <span class=\"s1\">'sass-rails'<\/span><span class=\"p\">,<\/span>   <span class=\"s1\">'5.0.6'<\/span>\r\n<span class=\"n\">gem<\/span> <span class=\"s1\">'uglifier'<\/span><span class=\"p\">,<\/span>     <span class=\"s1\">'3.2.0'<\/span>\r\n<span class=\"n\">gem<\/span> <span class=\"s1\">'coffee-rails'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'4.2.2'<\/span>\r\n<span class=\"n\">gem<\/span> <span class=\"s1\">'jquery-rails'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'4.3.1'<\/span>\r\n<span class=\"n\">gem<\/span> <span class=\"s1\">'turbolinks'<\/span><span class=\"p\">,<\/span>   <span class=\"s1\">'5.0.1'<\/span>\r\n<span class=\"n\">gem<\/span> <span class=\"s1\">'jbuilder'<\/span><span class=\"p\">,<\/span>     <span class=\"s1\">'2.6.4'<\/span>\r\n\r\n<span class=\"n\">group<\/span> <span class=\"ss\">:development<\/span><span class=\"p\">,<\/span> <span class=\"ss\">:test<\/span> <span class=\"k\">do<\/span>\r\n  <span class=\"n\">gem<\/span> <span class=\"s1\">'sqlite3'<\/span><span class=\"p\">,<\/span>      <span class=\"s1\">'1.3.13'<\/span>\r\n  <span class=\"n\">gem<\/span> <span class=\"s1\">'byebug'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'9.0.6'<\/span><span class=\"p\">,<\/span> <span class=\"ss\">platform<\/span><span class=\"p\">:<\/span> <span class=\"ss\">:mri<\/span>\r\n<span class=\"k\">end<\/span>\r\n\r\n<span class=\"n\">group<\/span> <span class=\"ss\">:development<\/span> <span class=\"k\">do<\/span>\r\n  <span class=\"n\">gem<\/span> <span class=\"s1\">'web-console'<\/span><span class=\"p\">,<\/span>           <span class=\"s1\">'3.5.1'<\/span>\r\n  <span class=\"n\">gem<\/span> <span class=\"s1\">'listen'<\/span><span class=\"p\">,<\/span>                <span class=\"s1\">'3.1.5'<\/span>\r\n  <span class=\"n\">gem<\/span> <span class=\"s1\">'spring'<\/span><span class=\"p\">,<\/span>                <span class=\"s1\">'2.0.2'<\/span>\r\n  <span class=\"n\">gem<\/span> <span class=\"s1\">'spring-watcher-listen'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'2.0.1'<\/span>\r\n<span class=\"k\">end<\/span><\/strong><\/pre>\n<p>Gem\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/p>\n<pre><strong>cd hello_app\/<\/strong>\r\n<strong>bundle install\r\nrails s<\/strong><\/pre>\n<h3>HelloWorld!\u3092\u8868\u793a\u3055\u305b\u308b<\/h3>\n<div><\/div>\n<div class=\"heading\"><strong><span class=\"description\"><code class=\"filepath\">app\/controllers\/application_controller.rb\u3067\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u8a18\u8ff0<\/code><\/span><\/strong><\/div>\n<div class=\"code\">\n<div class=\"highlight\">\n<pre><strong><span class=\"k\">class<\/span> <span class=\"nc\">ApplicationController<\/span> <span class=\"o\">&lt;<\/span> <span class=\"no\">ActionController<\/span><span class=\"o\">::<\/span><span class=\"no\">Base<\/span>\r\n  <span class=\"n\">protect_from_forgery<\/span> <span class=\"ss\">with<\/span><span class=\"p\">:<\/span> <span class=\"ss\">:exception<\/span>\r\n\r\n  <span class=\"k\">def<\/span> <span class=\"nf\">hello<\/span>\r\n<span class=\"hll\">    <span class=\"n\">render<\/span> <span class=\"ss\">html<\/span><span class=\"p\">:<\/span> <span class=\"s2\">\"hello, world!\"<\/span>\r\n<\/span>  <span class=\"k\">end<\/span>\r\n<span class=\"k\">end<\/span><\/strong><\/pre>\n<\/div>\n<\/div>\n<h3>config\/routes.rb<strong>\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u8a18\u8ff0\u3092\u3059\u308b<\/strong><\/h3>\n<pre><span class=\"no\">Rails<\/span><span class=\"o\">.<\/span><span class=\"n\">application<\/span><span class=\"o\">.<\/span><span class=\"n\">routes<\/span><span class=\"o\">.<\/span><span class=\"n\">draw<\/span> <span class=\"k\">do<\/span>\r\n  <span class=\"n\">root<\/span> <span class=\"s1\">'application#hello'<\/span>\r\n<span class=\"k\">end<\/span><\/pre>\n<h3><\/h3>\n<p><!--more--><\/p>\n<h3>\u6f14\u7fd2<\/h3>\n<h3>1:\u300chello, world!\u300d\u306e\u4ee3\u308f\u308a\u306b\u300chola, mundo!\u300d\u3068\u8868\u793a\u3055\u308c\u308b\u3088\u3046\u306b\u3059\u308b\u306e\u306f<br \/>\n\u3069\u3046\u3059\u308c\u3070\u3044\u3044\u304b\u8aac\u660e\u305b\u3088<\/h3>\n<p><strong><span class=\"description\"><code class=\"filepath\">app\/controllers\/application_controller.rb\u306e<\/code><\/span><\/strong><\/p>\n<p><strong><span class=\"hll\"><span class=\"n\">render<\/span> <span class=\"ss\">html<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#8220;hello, world!&#8221;<\/span><\/span><\/strong><span class=\"hll\"><span class=\"s2\">\u3092<\/span><\/span><\/p>\n<p><strong><span class=\"hll\"><span class=\"n\">render<\/span> <span class=\"ss\">html<\/span><span class=\"p\">:<\/span> <span class=\"s2\">&#8220;hola, mundo!&#8221;<\/span><\/span><\/strong><span class=\"hll\"><span class=\"s2\">\u306b\u5909\u66f4\u3059\u308b<\/span><\/span><\/p>\n<p><!--more--><\/p>\n<h3>2:\u300c\u00a1Hola, mundo!\u300d\u306b\u306f\u30b9\u30da\u30a4\u30f3\u8a9e\u7279\u6709\u306e\u9006\u3055\u611f\u5606\u7b26\u300c\u00a1\u300d\u304c\u542b\u307e\u308c\u3066\u304a\u308a<br \/>\n\u300c\u00a1\u300d\u6587\u5b57\u3092Mac\u3067\u8868\u793a\u3059\u308b\u306b\u306f\u3001Option\u30ad\u30fc\u3092\u62bc\u3057\u306a\u304c\u30891\u30ad\u30fc\u3092\u62bc\u3057\u307e\u3059\u3002<\/h3>\n<h3>3\uff1ahello\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u53c2\u8003\u306b\u3057\u3066\u3001\uff12\u3064\u76ee\u306e\u30a2\u30af\u30b7\u30e7\u30f3goodbye\u3092\u8ffd\u52a0\u305b\u3088\u3002<\/h3>\n<h3>\u30eb\u30fc\u30c8\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u5272\u308a\u5f53\u3066\u5148\u3092<code>hello<\/code>\u30a2\u30af\u30b7\u30e7\u30f3\u304b\u3089<code>goodbye<\/code>\u30a2\u30af\u30b7\u30e7\u30f3\u306b\u5909\u66f4<br \/>\n\u306a\u304a\u3053\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u306f\u3001\u300cgoodbye, world!\u300d\u3068\u3044\u3046\u30c6\u30ad\u30b9\u30c8\u3092\u8868\u793a\u3002<\/h3>\n<h3>\u7b54\u3048\uff1aconfig\/routes.rb<strong>\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u8a18\u8ff0\u3092\u3059\u308b<\/strong><\/h3>\n<pre><span class=\"no\">Rails<\/span><span class=\"o\">.<\/span><span class=\"n\">application<\/span><span class=\"o\">.<\/span><span class=\"n\">routes<\/span><span class=\"o\">.<\/span><span class=\"n\">draw<\/span> <span class=\"k\">do<\/span>\r\n  <span class=\"n\">root<\/span> <span class=\"s1\">'application#goodbye'<\/span>\r\n<span class=\"k\">end<\/span><\/pre>\n<p><strong>app\/controllers\/application_controller.rb\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a18\u8ff0<\/strong><\/p>\n<pre><strong>class ApplicationController &lt; ActionController::Base\r\n protect_from_forgery with: :exception\r\n \r\n  def goodbye\r\n    render html: \"goodbye, world!\"\r\n  end\r\n end<\/strong><\/pre>\n<h3>Gitbucket\u306e\u4f7f\u3044\u65b9\u3068\u521d\u671f\u8a2d\u5b9a\u3002\u30eb\u30fc\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u3066\u4ee5\u4e0b\u3092\u30b3\u30de\u30f3\u30c9<\/h3>\n<pre><strong>git config --global user.name \"akane\"<\/strong>\r\n<strong>git config --global user.email bokou31@example.com<\/strong>\r\n<strong>git init<\/strong>\r\n<strong>git add -A\r\ngit commit -m \"Initialize repository\"<\/strong><\/pre>\n<pre><strong>cd \/home\/ec2-user\/environment\/hello_app<\/strong>\r\n<strong>git remote add origin git@bitbucket.org:\u30e6\u30fc\u30b6\u30fc\u540d\/hello_app.git<\/strong>\r\n<strong>git push -u origin --all<\/strong><\/pre>\n<p>\u3067\u304d\u306a\u3051\u308c\u3070<\/p>\n<pre><strong>git remote add origin https:\/\/\u30e6\u30fc\u30b6\u30fc\u540d@bitbucket.org\/\u30e6\u30fc\u30b6\u30fc\u540d\/yuki.git<\/strong>\r\n<strong>git remote set-url origin https:\/\/\u30e6\u30fc\u30b6\u30fc\u540d@bitbucket.org\/\u30e6\u30fc\u30b6\u30fc\u540d\/yuki.git<\/strong>\r\n<strong>git checkout -b modify-README<\/strong>\r\n<strong>git branch<\/strong>\r\n<strong>master<\/strong>\r\n<strong>* modify-README<\/strong><\/pre>\n<p>Gemfile\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u8a18\u8ff0\u3092\u8ffd\u52a0\u307e\u305f\u306f\u5909\u66f4\u3092\u3057\u307e\u3059<\/p>\n<pre><strong>source 'https:\/\/rubygems.org'<\/strong>\r\n\r\n<strong>gem 'rails', '5.1.6'<\/strong>\r\n<strong>gem 'puma', '3.9.1'<\/strong>\r\n<strong>gem 'sass-rails', '5.0.6'<\/strong>\r\n<strong>gem 'uglifier', '3.2.0'<\/strong>\r\n<strong>gem 'coffee-rails', '4.2.2'<\/strong>\r\n<strong>gem 'jquery-rails', '4.3.1'<\/strong>\r\n<strong>gem 'turbolinks', '5.0.1'<\/strong>\r\n<strong>gem 'jbuilder', '2.7.0'<\/strong>\r\n\r\n<strong>group :development, :test do<\/strong>\r\n<strong>  gem 'sqlite3', '1.3.13'<\/strong>\r\n<strong>  gem 'byebug', '9.0.6', platform: :mri<\/strong>\r\n<strong>end<\/strong>\r\n\r\n<strong>group :development do<\/strong>\r\n<strong>  gem 'web-console', '3.5.1'<\/strong>\r\n<strong>  gem 'listen', '3.1.5'<\/strong>\r\n<strong>  gem 'spring', '2.0.2'<\/strong>\r\n<strong>  gem 'spring-watcher-listen', '2.0.1'<\/strong>\r\n<strong>end<\/strong>\r\n\r\n<strong>group :production do<\/strong>\r\n<strong>  gem 'pg', '0.20.0'<\/strong>\r\n<strong>end<\/strong><\/pre>\n<p>Gem\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<pre><strong>bundle install --without production<\/strong>\r\n<strong>#\u30b3\u30df\u30c3\u30c8<\/strong>\r\n<strong>git commit -a -m \"Update Gemfile for Heroku\"<\/strong>\r\n<strong>\uff03Heroku\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u30b3\u30de\u30f3\u30c9\r\nsource &lt;(curl -sL https:\/\/cdn.learnenough.com\/heroku_install)\r\n#Heroku\u30ed\u30b0\u30a4\u30f3\r\nheroku login --interactive\r\nheroku keys:add\r\nheroku create\r\ngit push heroku master\r\n<\/strong><\/pre>\n<h2>\u6f14\u7fd2<\/h2>\n<h3>1:heroku help\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3001Heroku\u30b3\u30de\u30f3\u30c9\u306e\u4e00\u89a7\u3092\u8868\u793a\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<br \/>\nHeroku\u30a2\u30d7\u30ea\u306e\u30ed\u30b0\u3092\u8868\u793a\u3059\u308b\u30b3\u30de\u30f3\u30c9\u306f\u3069\u308c\u3067\u3059\u304b?<\/h3>\n<p>heroku\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u306a\u3044\u6642<br \/>\n<strong>curl -sL https:\/\/cdn.learnenough.com\/heroku_install<\/strong><br \/>\n<strong>heroku logs<\/strong><\/p>\n<h3>2:\u4e0a\u306e\u6f14\u7fd2\u3067\u898b\u3064\u3051\u305f\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u3063\u3066\u3001Heroku\u30a2\u30d7\u30ea\u306e\u6700\u8fd1\u306e\u30ed\u30b0 (log)\u3092\u8abf\u3079\u3066\u307f\u3066\u76f4\u8fd1\u306b\u767a\u751f\u3057\u305f\u30a4\u30d9\u30f3\u30c8\u306f\u4f55\u3067\u3057\u305f\u304b?<\/h3>\n<p>\u7b54\u3048\uff1aHeroku\u306bpush\u3057\u305f<\/p>\n<h3>1\u7ae0\u306e\u307e\u3068\u3081<\/h3>\n<h4>1:Ruby on Rails\u3068\u306f\u3001Web\u958b\u767a\u306e\u305f\u3081\u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3001Ruby\u306b\u3088\u3063\u3066\u4f5c\u3089\u308c\u305f\u3002<\/h4>\n<h4>2:\u4e8b\u524d\u8a2d\u5b9a\u6e08\u307f\u306e\u30af\u30e9\u30a6\u30c9\u74b0\u5883(\u4f8b\uff1aCloud9\u306a\u3069)\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u3067\u3001Rails\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u751f\u6210\u3001\u751f\u6210\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306e\u7de8\u96c6\u3092\u7c21\u5358\u306b\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u308b\u3002<\/h4>\n<h4>3:Rails\u306b\u306frails\u3068\u3044\u3046\u540d\u524d\u306e\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30b3\u30de\u30f3\u30c9\u304c\u3042\u308a\u3001<br \/>\nrails new\u3067\u65b0\u3057\u3044\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u751f\u6210\u3057\u305f\u308a\u3001<br \/>\nrails server\u3067\u30ed\u30fc\u30ab\u30eb\u30b5\u30fc\u30d0\u30fc\u3092\u5b9f\u884c\u3057\u305f\u308a\u3067\u304d\u308b\u3002<\/h4>\n<h4>4:\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u8ffd\u52a0\u3057\u305f\u308a\u3001\u30eb\u30fc\u30c8\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3092\u5909\u66f4\u3057\u305f\u308a\u3059\u308b\u3060\u3051\u3067\u300chello, world\u300d\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u3067\u304d\u308b\u3002<\/h4>\n<h4>5:Git\u306b\u3088\u308b\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u3092\u5c0e\u5165\u3057\u3001Bitbucket\u306e\u975e\u516c\u958b\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u30d7\u30c3\u30b7\u30e5\u3059\u308b\u7406\u7531\u306f\u3001\u30c7\u30fc\u30bf\u306e\u55aa\u5931\u3092\u9632\u6b62\u3057\u3001\u4ed6\u306e\u958b\u767a\u8005\u3068\u306e\u5171\u540c\u4f5c\u696d\u3092\u884c\u3048\u308b\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u3002<\/h4>\n<h4>6:\u4f5c\u6210\u3057\u305f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092Heroku\u306e\u672c\u756a\u74b0\u5883\u306b\u30c7\u30d7\u30ed\u30a4\u3057\u305f\u3002<\/h4>\n<p><a href=\"https:\/\/suzutukiblog.com\/index.php\/2021\/04\/15\/rails-tutorial-2\/\">\u305d\u306e2\u306b\u7d9a\u304f<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rails \u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb \u8981\u70b9\u3060\u3051\u307e\u3068\u3081\u3088\u3046\u3042\u3068\u306f\u6f14\u7fd2\u306b\u3064\u3044\u3066 1\u7ae0\u3067hello\u30a2\u30d7\u30ea 2\u7ae0\u3067toy\u30a2\u30d7\u30ea scaffold\u3092\u4f7f\u3046 3\u7ae0\u304b\u3089\u30c6\u30b9\u30c8\u99c6\u52d5\u958b\u767a\u3001\u7d71\u5408\u30c6\u30b9\u30c8 \u6f14\u7fd2\uff1a\u73fe\u6642\u70b9\u3067\u306eRails\u306e\u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u306f\u3044\u304f\u3064 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2764,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[27,13],"tags":[],"class_list":["post-2865","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programming-note","category-rails"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/posts\/2865","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/comments?post=2865"}],"version-history":[{"count":9,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/posts\/2865\/revisions"}],"predecessor-version":[{"id":4518,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/posts\/2865\/revisions\/4518"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/media\/2764"}],"wp:attachment":[{"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/media?parent=2865"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/categories?post=2865"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/tags?post=2865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}