我想顯示一個表單,其中每個用戶可以編輯不同的字段。Rails:可編輯/不可編輯的字段取決於用戶權限
目前,代碼如下:
<% if can? :update, item %>
` <%= f.text_field :title %>
<% else %>
<%=h f.object.title %>
<% end %>
我可以在一系列幫手(每個字段類型)封裝,但我也有在控制器檢查用戶是否可以更新所有提交的字段(如果惡意用戶試圖提交他未被授權的字段)。
這種類型的任務在軌道中是否有更清晰的模式?理想情況下,我想在模型中定義這些訪問權限,並將這些更改傳播到控制器和視圖。
編輯:
使用readonly
標籤是不是一個可行的選擇;它不考慮驗證,並用很多CSS替換視圖邏輯。不是最好的折衷。
這只是化妝品;這取決於你是否更喜歡編寫大量的CSS(將只讀類型的控件設置爲純文本樣式),還是喜歡在視圖中使用一些額外的邏輯。 而且它沒有解決控制器端驗證問題。 – shmichael 2010-07-05 14:27:26