1
緩存視圖時,我們如何隱藏敏感或用戶特定的鏈接,例如「編輯」或「刪除」按鈕?俄羅斯娃娃緩存和隱藏敏感鏈接
使用緩存,你不能真正使用條件語句,如:
<% if current_user.can? edit %>
<%= link_to 'Edit', edit_post_path(@post) %>
<% end %>
,因爲所有的觀衆都會被提供相同的頁面。
一些教程,告訴我,我可以用CSS這樣:
<% if current_user.can? edit %>
<%= link_to 'Edit', edit_post_path(@post), class: 'admin-link' %>
<% end %>
但我將如何去驗證編輯的權限?
這似乎是最佳實踐。你還可以告訴我如何使用CSS來做同樣的事情,就像原來的問題一樣? – 2015-02-07 21:05:22
我不確定css類如何處理它,唯一能夠做的就是隱藏鏈接,但它仍然在html代碼中,也許如果你鏈接到你有這個想法的地方我可能會有所幫助。 – 2015-02-07 21:07:36
不幸的是,該鏈接將需要付費訂閱。我猜測我可以使用JS來檢查用戶權限並動態更新HTML類。但與你的方法相比,這看起來很脆弱。 – 2015-02-07 21:11:41