2012-03-02 17 views
0

好了,所以我有這個test_field我可以做在軌條件形成建設者

= f.text_field :profile_count, :readonly => true 

我只需要只讀是有用戶不是管理員?

,所以我能做到這一點

if current_user.admin? 
    = f.text_field :profile_count 
else 
    = f.text_field :profile_count, :readonly => true 

但有一種方法,使之更加緊湊或多個導軌等也只讀不是100%的理想或者是因爲用戶可以通過螢火蟲或一些操作DOM ..任何建議

+0

如果他們無法提交,請不要​​將其顯示爲表單值。如果你正在使用批量分配,你仍然需要在服務器端處理這個問題。 – 2012-03-02 03:46:24

+0

有關如何將其顯示給用戶的任何建議 – Trace 2012-03-02 03:48:11

+0

我仍然需要它,以便用戶可以查看它,但只有管理員可以更改它 – Trace 2012-03-02 03:48:35

回答

1

爲了使它更緊湊,只是做= f.text_field :profile_count, :readonly => !current_user.admin?

關於你提到的有關編輯的文本框中,儘管只讀設置的用戶的關注,你可以SAV之前控制器檢查admin? ing profile_count更改。