2012-05-22 14 views
0

我有一個軌網站,我對工作有用戶和位置我應該無論是從在軌

用戶有許多地方和位置可以有很多用戶,所以我有一個會話的URL或商店隱藏一個多對多...

has_many :through 

我的問題是這樣的......大多數用戶將只有一個位置,只有一個位置,所以當他們登錄我應該有它在一個會話

的URL或商店
/some_location/users 

或者我應該在會話中存儲的位置,像這樣

def current_location 
    @location ||= Location.find(session[:location_id]) 
rescue ActiveRecord::RecordNotFound 
    @location = current_user.locations.first 
    session[:location] = @location.id 
    @location 
end 

的方法,並有網址清潔

/users 

如果我做它的位置在名稱上面的方法路徑我將如何做路線

回答

0

如果用戶不需要直接訪問該位置(或者如果您有一個簡單的方法讓他們切換位置),您可能想要使用會話。這將使導航變得更簡單,並且對於只有一個位置的大多數用戶而言更容易混淆,同時允許您以較簡單的方式處理具有多個位置的用戶的邊緣情況。

0

對於具有多個位置的用戶,下面的代碼將返回隨機位置

@location = current_user.locations.first 

您可以優先位置的選擇 - 比如字母

@location = current_user.locations.order("name DESC").first 

但是,當用戶改變位置,他的網址將被映射到不同的位置。它可能會或可能不是你想要的。

相關問題