我有四個型號:回報率幫助保護我的CRUD鏈接的意見
class Country < ActiveRecord::Base
has_many :postcards
end
class Postcard < ActiveRecord::Base
belongs_to :Country
has_many :photos
has_many :tips
end
class Photos < ActiveRecord::Base
belongs_to :postcard
end
class Tips < ActiveRecord::Base
belongs_to :postcard
end
的路由嵌套這樣的:
Rails.application.routes.draw do
resources :countrys do
resources :postcards do
resources :photos, :tips
end
end
end
我跟着CRUD架構和一切正常,所有控制器正在工作。我使用private/country_params來創建和更新控制器方法。但是......
現在我意識到,如果我部署應用程序,任何人都可以單擊視圖中的鏈接來創建/編輯/銷燬數據庫。
限制訪問權限的「最佳實踐」解決方案是什麼?
- 建立一個用戶模型只爲我和採取管理員權利?
- 創建一個新的視圖沒有crud訪問?(這是甚至可能嗎?)
- 使用admin gem(RailsAdmin或ActiveAdmin)?
在危險操作(C,U,D)中,您應該檢查此用戶是否有權執行操作。顯然,你想限制匿名用戶。看看cancancan寶石,我在很多項目中都成功地使用了它。 –
「一套無障礙訪問的新視圖」 - 您意識到在CRUD中的R意味着「讀取」? :) –
thx爲cancancan提示,它是否工作,如果我是唯一一個用戶(我沒有計劃登錄容量的應用程序),它可以隱藏在視圖中的實際鏈接? - yea好的一個...如此Crud -r;) – bobix