2013-10-16 56 views
0

我在軌道上學習旅程,並正在製作我的第一個軌道應用程序。這是一個非常簡單的應用程序,用戶可以在各種主題上創建帖子。我是否生成多個控制器?

我爲我想要稱爲'倫敦'的頁面生成了第一個腳手架(rails生成scaffold london location:string content:text)。該網站的用戶可以發佈帖子和倫敦地區的訪問地點。

然後我想複製'巴黎'這個功能。我是否生成一個新的腳手架或以不同的方式去改變它?一些建議,將不勝感激。

此外網址得到複數(mywebsite.com/londons)。我加

resources :londons, :path => "london"

這改變了URL,但是當我去作後,我收到了無路由匹配[POST]「/倫敦的」的錯誤。任何人都得到了解決這個問題?

謝謝!

+0

雖然並非總是如此,一開始你可以把對應於一個數據表的控制器。你有一個名爲「倫敦」的數據表,另一個名爲「巴黎」?如果不是,那麼也許你有一個數據表,它有一個名爲「place」的屬性,可能是「倫敦」,「巴黎」等。這將是一個單一的控制器「地點」,然後你會相應地管理視圖。您當然不希望每次添加地點時都必須創建一個新的控制器。您需要首先考慮數據和數據關係,然後從中生成代碼。 – lurker

回答

1

,而不是良好的生成控制器爲每個城市一個更好的辦法可能是創建models.For例子之間的關係,你可以創建一個城市,然後一個位置腳手架您的城市模型中,你可以做

has_many :locations 

和您的位置模型中,你可以做

belongs_to :city 

這樣你就不需要建立新的支架,每city.You可以如何使用關係從導軌讀了here

+0

謝謝Brock90!我會閱讀關於使用關係,看看我能做些什麼! – Ash

0

那麼可能你想先概括的東西:)

你真正需要的是(或者主題,文章)。您可以實現具有標題(可以是倫敦,巴黎等)屬性的Page模型。

您將介紹一個PagesController。 index動作將導致頁面列表,show將呈現特定頁面。

在你的路由你會做這樣的事情:

resources :pages 
+0

那麼在PagesController中,我有每個城市頁面的模型?我可能完全錯過了這裏:)然後我想我手動添加視圖/顯示/創建頁面等每個? – Ash

+0

你說過這是一個非常簡單的應用程序,用戶可以在各種主題上創建帖子,所以我認爲主題不會侷限於地點。這就是爲什麼我建議在這個名字下推廣。 我鼓勵你閱讀一些書(「Rails敏捷開發」並不難作爲首發)或通過本教程 - http://ruby.railstutorial.org/ruby-on-rails-tutorial-book。 在這一點上,似乎你知道獨立創建這個應用程序的太少了,把它作爲第二個,並在教程中建立一個。沒有良好的基礎,你不能建造摩天大樓,甚至沒有小房子。 –