0
從我所瞭解的情況來看,如果我要讓我的用戶模型中的管理布爾值列在attr_accessible中,將會產生安全漏洞。不過,我希望在我的顯示頁面上有一個鏈接,讓現有管理員用戶將管理權限授予其他用戶。我想知道如何去做這件事?我在我的節目視圖代碼爲目前用戶包括:通過一個按鈕使用戶通過一個按鈕,而不具有在Rails中可訪問的屬性
<% if current_user.admin? && @user.admin == false %>
<%= link_to "Make Administrator", '#',
data: { confirm: "Make this user an admin?" }, class: "btn btn-large btn-primary" %>
<% elsif current_user.admin? && @user.admin%>
<%= link_to "Remove Administrator", '#', class: "btn btn-large btn-danger" %>
<% end %>
我不完全知道該怎麼放,而不是「#」? @ user.toggle!(:admin)似乎不工作,所以任何指針將不勝感激。先謝謝你!
好,我想這和它的不工作,雖然我確實得到了要做的事情...當我嘗試更新管理員時,它只是重定向到根路徑而不是返回到用戶索引。我將在一個勾號中發佈我的代碼。非常感謝你的幫助! – TangoKilo 2012-07-21 20:25:51
哎呀,我的壞它重新導向,因爲之前我使用的過濾器。我的壞 – TangoKilo 2012-07-21 20:38:21
不用擔心,我很高興一切正常。簡單地說,update_attribute不會發出保存事件,所以它不檢查attr_accessible。與.update_column相同。如果你想讓它檢查屬性,出於安全原因,你可以分別使用update_attributes和self.attribute = *。 – AdamCooper86 2012-07-22 12:42:03