我試圖在Devise中創建多個模型(使用Ruby 2.0,Rails 4)。我已經搜索了堆棧溢出並嘗試谷歌,但大多數人最終使用繼承或CanCan。設計中的多個模型
問題是,我需要兩種完全不同的模式才能夠以兩種完全不同的方式註冊和使用我的網站 - 一種使用電子郵件或用戶名登錄,並具有各種管理功能(如查看MobileUser使用情況的圖表等)。另一個只能從移動設備訪問,使用電話號碼登錄,並且具有更簡單的界面。
我試圖爲('rails g devise WebUser'和'rails g devise MobileUser')運行Devise。我現在有兩個表和列,但只有WebUser的路由和模型。我嘗試手動添加路由和MobileUser模型,但沒有任何工作 - 模型不連接到表,路由產生運行時錯誤('WebUser不響應'設計'方法)。
我讀過的所有內容都表明我可以可以獲得設計爲我的一個網站上的兩個模型工作 - 我該如何實現?
我的路線:
Mailer::Application.routes.draw do
devise_for :web_users
# devise_for :mobile_users (doesn't work, so it is commented out)
resources 'web_users', only: [:show, :index]
resources 'mobile_users', only: [:show, :index]
root 'static_pages#home'
match '/contact', to: 'static_pages#contact', via: 'get'
match '/faq', to: 'static_pages#faq', via: 'get'
end
聲音像頭痛。是其中一個全能的管理員或這些真正反映不同的子集? – timpone
這是兩個不同的子集。與公司發送電子郵件的MailChimp類似,指示收到電子郵件的人員的視圖圖表可以管理他們發送給誰,但是收件人只能查看電子郵件 - 沒有控件,沒有其他頁面,沒有任何內容。除了我的,都必須登錄 - 帶有電子郵件的Web用戶,帶有電話號碼的MobileUser。 – steelerose
你可以顯示你的路線嗎?我將設計用於多個模型沒有問題,所以我要麼誤解你的目標,要麼需要更多的信息來提供建議。 – trh