1
請向我解釋此link_to的url部分。瞭解link_to的url部分,包含列名和值
URL部分
admin_user_path(user,{ user: { admin: !user.admin? } })
充分的link_to
<%= link_to "#{ user.admin? }", admin_user_path(user,
{ user: { admin: !user.admin? } }),
method: :patch,
class: "admin #{ user.admin ? 'btn-warning' : 'btn-info' } "
%>
這是HTML
<a class="admin btn-warning " data-method="patch" href="/admin/users/2?
user%5Badmin%5D=false" rel="nofollow">true</a>
admin_user_path
產生admin/user/
admin_user_path(user)
它產生admin/user/:id
admin_user_path(user, options)
我認爲,選擇部分包含值,即在通過PARAMS控制器訪問?有了這個值,我可以將它保存爲id爲id的記錄。
Sry,即時通訊仍然是新的鐵軌,我想了解選項部分。我知道,這是鐵軌的魔力,但也許有更多的解釋:)
謝謝你的回答。管理頁面(控制器)有一個'before_action:authorize'檢查。記錄被更改之前,是否足夠或應該檢查管理員?其實,我把它作爲一個非管理員用戶'http:// localhost:3000/admin/users/1?user%5Badmin%5D = true'發送,並沒有改變。幸運我:) – AdvanceInBeginning 2014-10-02 09:25:49
@AdvanceInBeginning,聽起來你的控制器工作正常,如果非管理員用戶試圖更新值時它沒有更新;所以我認爲你已經用before_action:authorize過濾器進行了某種授權檢查。另外,我認爲你的代碼與Ruby on Rails教程中的管理檢查非常相似(我的意思是兩個控制器都使用過濾器來檢查管理員用戶)https://www.railstutorial.org/book/updating_and_deleting_users#sec-administrative_users – jyrkim 2014-10-02 09:46:08