パラメータを混合メソッドに渡すベストプラクティスの方法はありますか?
ミックスインを使用するクラスは、混合メソッドが期待するインスタンス変数を設定するか、必要なすべてのパラメーターを引数として混合メソッドに渡すことができます。
この背景には、コンテンツのパブリッシュを行う 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
...または、他の何か?