2011-02-02 87 views
2

如果我生成一個腳手架,我會得到標準動作索引,新的,顯示,創建....所有這些都包含一行,例如,像在控制器中重構生成的操作代碼

@comment = Comment.find(params[:id]) 

是否有意義把這個線在一個單獨的方法到像

def load 
@comment = Comment.find(params[:id]) 
end 

控制器這是一個優勢? THX您的時間

回答

2

是在單獨的方法,並且還肯定的使用的before_filter。

class CommentsController < ApplicationController 
    # Whitelist your before_filter like this. Or you can blacklist it with :except => [] 
    before_filter :load_comment, :only => [:edit, :update, :destroy, :show] 

    def show 
    end 

    def index 
    @comments = Comment.all 
    end 

    def new 
    @comment = Comment.new 
    end 

    # etc ... 

    protected 

    def load_comment 
    @comment = Comment.find(params[:id]) 
    end 
end 
+0

嘿thx爲您的答覆。爲什麼要保護它?以及如果我在我的操作中已經有了不同的查詢,如「@comment = Comment.new」。 before_filter覆蓋它嗎?我是在我的操作方法之前還是在我的控制器的末端放置方法? – daniel 2011-02-02 01:21:22

相關問題