作者GoOdGaMe (GG)
看板Ruby
標題[問題] 初學ruby on rails遇到的問題
時間Fri Mar 13 18:48:26 2009
最近開始學習ruby,有了一些基礎的概念,同時也接觸了rails
買了聖經來看,雖然rails新版本的一些方法已不同於書上所寫的
不過為了練習,就先使用之前的版本來操作
有個問題想請教各位版友前輩
例如在練習scaffold時,知道scaffold 已經為controller建制了8個action
但我要再去了解controller檔中這些action程式碼的意思,常常會感到吃力
甚至沒辦法理解這些程式碼所表達的意思
例如用這個指令 ruby script/generate scaffold product admin
產生以下controller程式碼:
class AdminController < ApplicationController
def index
list
render :action => 'list'
end
# GETs should be safe (see
http://www.w3.org/2001/tag/doc/whenToUseGet.html)
verify :method => :post, :only => [ :destroy, :create, :update ],
:redirect_to => { :action => :list }
def list
@product_pages, @products = paginate :products, :per_page => 10
end
def show
@product = Product.find(params[:id])
end
def new
@product = Product.new
end
def create
@product = Product.new(params[:product])
if @product.save
flash[:notice] = 'Product was successfully created.'
redirect_to :action => 'list'
else
render :action => 'new'
end
end
def edit
@product = Product.find(params[:id])
end
def update
@product = Product.find(params[:id])
if @product.update_attributes(params[:product])
flash[:notice] = 'Product was successfully updated.'
redirect_to :action => 'show', :id => @product
else
render :action => 'edit'
end
end
def destroy
Product.find(params[:id]).destroy
redirect_to :action => 'list'
end
end
抱歉貼了一大串
其中基本的變數、def方法宣告、for迴圈等方法我是看得懂的
不過像是下面者種,我就無法了解他的意思
例如:
def list
@product_pages, @products = paginate :products, :per_page => 10
end
def show
@product = Product.find(params[:id])
end
我有買了向ruby之父學程式這本ruby教學書來看
不過也找不到上面這種類似語句的範例教學
所以我想請問各位前輩 如果要了解這些程式碼的意思
我該從哪個方向來加強呢?
能不能提供小弟一個方向或是參考的書目或是網站
因為我覺得學習ruby on rails是一件快樂的事
只是目前卡關了 所以想請大家幫幫忙 先謝謝大家了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.162.55.7
1F:推 godfat:不管問幾次,我還是推薦 Programming Ruby... XD 03/13 19:02
2F:→ godfat:不過要買的話,我會建議先看網路的,等 3 版出再買 3 版 03/13 19:03
3F:→ GoOdGaMe:了解 那我就從這本開始看起囉 03/13 23:57
5F:推 deva:你的問題,在 Agile Web Development with Rails 2/e 有解答 03/15 19:25
6F:推 janyfor:list 找出所有資料 一次列出10筆 show 找出id的資料 03/16 00:16
7F:推 fayhong:Ruby for Rails 也不錯用 :) 03/19 20:30