我知道一般來說,在視圖中包含控制器代碼並不是一個好主意。但是,有沒有這種情況並非完全正確?舉例來說,你看這個例子:將控制器代碼添加到視圖總是不好的?
<%= link_to "Upgrade (costs #{ Skill.get_profession_cost('Admin')} gold)" ...
在這個例子中,我需要得到行業的成本超過一個角色(管理員,用戶和更多)。因此,像上面那樣有很多鏈接。現在問題是做這件事的最佳做法是什麼。我可以想到3種方法:
正如上圖所示。 (缺點 - 我需要模型中的get_profession_cost函數,因爲我在控制器中使用它;因此,幫助器似乎對我有點冗餘)。此外,我有點認爲助手應該是在控制器中的代碼。
獲取事先商定的哈希值,如:
用戶=> 1000,聯繫=> 3000 ...等等。儘管這樣做比較麻煩,但也很麻煩。
我真的很喜歡你的意見。有沒有更好的辦法,如果沒有,你會選擇哪一個?
好極了,所以看起來確實在視圖中添加這樣的代碼並不是什麼好主意。我會和哈希一起去嘗試不惜一切代價保持我的觀點:) Thanx! – Spyros 2011-02-08 08:12:10