01
$ rails new tickets
02
$ rails generate scaffold ticket name:string seat_id_seq:string address:text
price_paid:decimal email_address:string
03
$ rake db:migrate
04
$ rails g migration AddPhoneToTickets phone:string
注意:要手動更改頁面模板
05
設定哪些欄位值是可以被更改的,否則會出現Can't mass-assign protected attributes
fix app/models/ticket.rb
class Ticket < ActiveRecord::Base
attr_accessible :address, :email_address, :name, :price_paid, :seat_id_seq,:phone
end
06
半自動,建立MODEL
$ rails g model ad name:string description:text price:decimal seller_id:integer email:string img_url:string
07
半自動,建立CONTROLLER
$ rails g controller ads
08
HTML頁面生成的流程,及路由(route)設定
1.Controller的功用是產生Html所需的資料
2.View(Page template)
ERb將controller及view產生出Html
但ERb要知道在什麼情況下要找哪一個controller和view配對使用,這透過Route來定義!
Route典型的指定方式:(config/routes.rb)
match "/ads/ :id" => "ads # show"
URL Pattern 參數 Controller View
ads_controller.rb show.html.erb
09
Ruby
表達式<%= ......%> <%= @ad.name %>
腳本段<% ......%>
<% for ad in @ads %>
<li><a href="/ads/<%= ad.id %>"><%= ad.name %></a></li>
<% end %>
10
控制器的例子
# GET /tickets/1
# GET /tickets/1.json
def show
@ticket = Ticket.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @ticket }
end
end
# GET /tickets/new
# GET /tickets/new.json
def new
@ticket = Ticket.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @ticket }
end
end
沒有留言:
張貼留言