是否有將params傳遞給混合方法的最佳實踐方法?Ruby混合和實例變量
使用mixin的類可以設置混入方法期望的實例變量,或者它可以將所有必需的參數作爲參數傳遞給混入方法。
背景是,我們有一個Rails控制器,它發佈的內容 - 但其他控制器,甚至模型需要能夠「充當發佈者」,所以我將控制器方法分解成一個模塊,我根據需要混合。
在此,例如,是從Rails控制器代碼需要「充當出版者」和它調用一個混合入方法question_xhtml()...
def preview
@person = Person.find params[:id]
@group = Group.find params[:parent_id]
@div = Division.find params[:div_id]
@format = 'xhtml'
@current_login = current_login
xhtml = person_xhtml() # CALL TO MIXED-IN METHOD
render :layout => false
end
最終question_xhtml需要所有的東西!這種做法是否合理,還是會更好呢?
def preview
person = Person.find params[:id]
group = Group.find params[:parent_id]
div = Division.find params[:div_id]
format = 'xhtml'
xhtml = person_xhtml(person, group, div, format) # CALL TO MIXED-IN METHOD
render :layout => false
end
......還是別的什麼?
你能給出一個混合方法和他們需要的參數的例子嗎? – mikej 2010-05-20 16:42:41