![](/img/trans.png)
[英]What is the best way to separate user settings into multiple pages in Ruby on Rails?
[英]Best way to have default user settings in Ruby on Rails?
我目前正在研究RoR應用程序,用戶可以在其中注冊並獲得(假設有20種)圖像格式的列表。 這些圖像格式具有自己的模型。 網站的管理員可以添加或刪除格式。 用戶應該能夠激活某些格式或停用。
我當時只是想為每個用戶將20種格式添加到數據庫中,但是如果管理員選擇刪除或添加一種格式,那將不會很靈活。 他們應該是更可維護的方式嗎?
您的解釋不是很詳細。 特別是我錯過了問題的“默認”設置。
第一件事(簡單一點):管理員可以為他想在網站上允許的每種格式創建一個條目。 所以表中應該只有一個這樣的條目
用戶可以從這些格式中選擇幾種(最大數量?),為什么他們需要特別選擇它們? 他們不能只使用管理員允許的所有內容嗎? 如果管理員刪除格式,上傳的圖片會怎樣?
無論如何,最好是User和ImageFormat之間的has_and_belongs_to_many關系。 如果需要任何其他數據,也可以使用另一個模型(UserImageFormat)構建此橋。
對於管理員刪除某些格式的情況,您可以通過多種方式進行處理。 您可以在格式記錄中添加“活動”標志,然后在每次使用模型時進行檢查,或者實際上只是刪除該記錄(在這種情況下,請確保您的關聯設置為: dependent => :destroy
這樣所有將用戶連接到格式的記錄也將被銷毀(編寫測試以確保這一點)
也許您可以找到一些有助於解決此問題的寶石或插件。 本文可能會給您更多幫助。 也許某些身份驗證插件可以添加訪問控制。 但是我認為您的需求(用戶可以以某種方式影響他可以使用/訪問的東西)可能太特殊了,因為大多數此類工作的絕大部分將更可能解決以管理員為中心的訪問控制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.