2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

プログラミング学習(一日目) ProgateでRuby On Rails レッスン1

Last updated at Posted at 2019-08-25

本当はプログラミング学習一日目ではないけど、Qiitaに投稿を始めるので今日を一日目としました。

 今日学んだこと

$rails new アプリケーション名

で、同名のフォルダを作成し、アプリを作る準備ができる

$rails server

で、サーバー起動。localhost:3000にアクセス可能

Railsでページを表示するにはviewとcontrollerとroutingが必要

$rails generate controller home top

で、まずはviews/home/top.html.erb(ビューファイル)が作られ、
app/controllers/home_controller.rb(コントローラ)が作られ、その中にはtopメソッドが作られる(このtopメソッドはアクションという)
そして、アプリケーション名/config/routes.rb(ルーティング)が作られる。

Railsでページを表示するまでの流れ

まずブラウザにURLを入れられます。仮に「localhost:3000/top」だとする
するとルーティングにてこのURLに対応するコントローラ名とアクション名があるので、そのコントローラのアクションが呼び出される。

routes.rb
Rails.application.routes.draw do
  get "top" => "home#top"
end

これは"top"というURLが来たらhomeコントローラのtopアクションを実行しろという意味。

そしてhomeコントローラのtopアクションでは、

home_controller
class HomeController<ApplicationController
  def top
  end
end

と書かれてある。このアクションの役割は、views/の中でコントローラと同じ名前(この場合はhome/)のフォルダから、アクションと同じ名前のHTMLファイル(この場合はtop.html.erb)を探し、ブラウザに返すこと。

これでRailsでページを表示するのはOK

だが、また新たにページを増やすときに

$rails generate controller home about

とやっても、既にhomeコントローラはあるのでこのコマンドは実行できない(generateは「生成する」という意味)
これでRailsでページを表示する方法の基礎の基礎はできたはず。

ほかには

$rails generate contlloer home ...

時に生成されたapp/assets/stylesheets/home.scssにコードを書けば、すべてのビューにCSSが適用される(ここはあまり理解していない)。

tweet_app/public/に画像を保存すれば、"/画像名"でHTMLやCSSで画像を表示できるなど。

以上が、今日学んだRuby On Rails レッスン1です。

もし心優しい方が居て、アドバイスを頂けると嬉しいな...

2
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?