作作看網頁!①:設定一覽

作作看網頁!①

Header5

0 : 這個章的目的

 看看在「作作看網頁!①」裡設定的內容


1 : 設定一覽

作作看網頁!①」裡設定了「posts」資料庫的網頁「show」「index」的內容。
網頁的設定,需要
  • 七個網頁的設定(route.rb)
  • 操作資料的設定(controller文件)
  • 顯示網頁的設定(views文件夾)
這個三個設定。

為了作「controller」文件跟「views」文件及,先必須在terminal上打入

 terminal
 使用Windows的話,請使用「命令提示符」吧。

1 rails g controller posts

這個命令,作「controller」文件(posts_controller.rb)跟「views」文件及(posts)

 七個網頁的設定(route.rb)


 route.rb

1 2 3 4 5 6 7 8 9 10 11 ... 57 58 Rails.application.routes.draw do resources :posts , :only => [:show, :index, :new, :create, :edit, :update, :destroy] # The priority is based upon order of creation: first created -> highest priority. # See how all your routes lay out with "rake routes". # You can have the root of your site routed with "root" # root 'welcome#index' # Example of regular route: # get 'products/:id' => 'catalog#view' # 省略 end

 資料操作的設定(controller文件)


 posts_controller.rb

1 2 3 4 5 6 7 8 9 10 11 class PostsController < ApplicationController def show @post = Post.find(params[:id]) end def index @posts = Post.all end end

 顯示網頁的設定(views文件夾)是設定


  • show.html.erb
  • index.html.erb

這些文件。各個內容是

  •   show.html.erb

  • 1 2 3 4 5 <h1>投稿</h1> <p><%= @post.name %></p> <p><%= @post.content %></p> <p><%= @post.place %></p> <p><a href="/posts">返回主頁</a></p>

  •   index.html.erb

  • 1 2 3 4 5 6 7 8 <h1>投稿一覽</h1> <hr> <% @posts.each do |p| %> <p><a href="/posts/<%= p.id %>"><%= p.id %></a></p> <p><%= p.name %></p> <p><%= p.content %></p> <hr> <% end %>

    這樣子。