1
我正在嘗試構建一個簡單的網站,用戶可以在其中撰寫文章,但管理員需要在他們出現在網站上之前批准它們。此外,用戶創建文章後,文章不會立即發送到管理員。用戶首先需要點擊文章屬性上的按鈕「發送」。更新同一表的多個用戶級別
我有這樣的模式:
create_table "articles", force: true do |t|
t.string "title"
t.text "content"
t.datetime "created_at"
t.datetime "updated_at"
t.boolean "published", default: false
t.boolean "sent", default: false
end
用戶創建的文章,published
和sent
都是假的之後。在文章屬性用戶有「發送」按鈕。在他點擊該按鈕後,published
仍然是錯誤的,但sent
現在成立。現在在管理控制面板中,管理員看到新文章,當他點擊「發佈」按鈕時,published
和sent
現在都成立。上傳文章的用戶可以刪除文章並將published
設置爲false。
所有動作我這樣做,例如:
<%= link_to 'Undo sent', article_path(article, :article => {:sent => false}), :method => :put %>
問題是我不知道如何來限制訪問。普通用戶可以將列sent
更改爲true和false,但是列published
他只能更改爲false。只有管理員可以將列published
更改爲true和false。
我該如何在我的控制器內完成這項工作,以確保它安全?所有用戶都有我可以訪問的角色列。謝謝。
使用慘慘的權限;) – MrYoshiji
@MrYoshiji,我已經擁有了一切。我不需要CanCan :)這可能只是一個小問題。 – user3339562