LoginSignup
0
2

More than 5 years have passed since last update.

railsのキホンvol.1(view,controller,routing)

Last updated at Posted at 2019-03-16

railsでの開発

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

サーバー

開発中のアプリケーションをブラウザで表示するためのコマンド

$ rails server

トップページの作成

以下のコマンドで、ページを表示するのに必要なファイルを作る
view,controller,routing

$ rails generate controller home top

また同じ名前のコントローラを作ることができず、新しいページを追加するには、controller,routesを自分で追加し、viewファイルも新規で作成する必要がある。

view

見た目を作るためのHTMLファイル。
ビューはviewsフォルダ配下に作られる。
上の例では、
app/views/home/top.html.erb
といったファイルが作られる。

controller

ページを表示するとき、railsではコントローラーを経由してブラウザに返される。
上の例では、
app/controllers/home_controller.rb
というファイルが作成され、その中にtopメソッドができる。
また。controller内のメソッドをアクションという。

home_controller.rb
def top
 #処理
end

コントローラー内のアクションはviewsフォルダの中からブラウザに返すビューを見つけ出す役割を持つ。

routing

ルーティングはブラウザとコントローラをつなぐ役割を持ち、
送信されたURLをみて、それにあったコントローラ、アクションで処理をする。
ルーティング⇨コントローラ⇨ビュー
という順になる。
上の例では、
app/config/routes.rb
というファイルに定義され、
「get "URL" => "コントローラー名#アクション名"」
という文法で書かれる

routes.rb
get "home/top" => "home#top"

の場合、ブラウザから、home/topが送られてくれば、homeコントローラのtopアクションで処理をされる。
また必要に応じて、urlの部分を変更することもできる。

CSSの適用

ビューにCSSを適用するには
app/assets/stylesheets/のファイルを編集すればいい。
上の例では、home.scssファイルとなる。

画像の表示

画像を表示するには、「public」フォルダに画像を入れておくことで、

sample.html.erb
<img src="/sample.png">
sample.scss
background-image :url("/sample.jpg")

のように表示できる。
また画像のURLには先頭に”/"が必要。

urlの変更

localhost:3000でアプリケーションのトップページにアクセスできるようにルーティングを変更。

routes.rb
get "/" => home#top

にすることでlocalhost:3000で,homeコントローラのtopアクションが実行されるようになる。

続き
https://qiita.com/jonnyjonnyj1397/items/a99c80d4e73dde58fc9c

0
2
0

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
0
2