2013-02-23 52 views
0

我使用設計進行註冊,並且每個用戶都屬於一個位置。我想創建一個能夠訪問所有位置的超級用戶,而不管創建了多少位置。設計超級用戶

目前位置參數是LOCATION_ID =某個整數

關於如何將LOCATION_ID分配到等於所有位置的超級用戶任何想法?

我還應該補充一點,這樣做的目的是讓我的iOS應用程序能夠驗證和查看所有api數據。

我現在試圖確定LOCATION_ID =零返回location.all

if current_user.location = nil 
    @locations = Location.all 
    else 
    @locations = current_user.location 
    end 

,但我仍然需要定義爲零,因爲我得到具有用戶在洛時,以下錯誤LOCATION_ID =零

沒有路由匹配{:動作=> 「秀」,:控制器=> 「位置」,:ID =>零}

+0

去位置#秀應該只能給一個位置。去位置#索引,而不是:'/ locations'而不是'/ locations/nil' – 2013-02-23 18:07:57

+0

謝謝蒂姆。去位置#索引將不起作用,因爲索引頁正在查找current_user.locations。我試圖弄清楚如何定義@location = nil current_user.locations = Location.all – jacobt 2013-02-23 19:58:56

+1

因爲你告訴它去current_user.locations,所以它會去current_user.locations。如果'current_user.location = nil',沒有任何東西阻止你去'Location.all'。強制#顯示返回列表是錯誤的,它只會給你帶來很多麻煩。 – 2013-02-23 21:03:59

回答

1

也許我誤解的更精細的細節你在做什麼,但是,你可以在你的模型和控制器中添加一個super_user布爾型字段只需使用這樣的事情:

if current_user.super_user 
    @locations = Location.all 
else 
    @locations = current_user.location 
end 

或者,你可以使用零的LOCATION_ID代表「所有」,而是使用if current_user.location代替if current_user.super_user,是否適合您的需求更好。

+0

感謝這讓我走上了正軌。我認爲使用location_id爲零來表示「全部」將最好,但想知道如何定義? – jacobt 2013-02-23 16:37:12