2012-03-06 70 views
0

我試圖阻止雙重內容與respond_to結合使用。所以,我加入到我的控制器:Rails 3 respond_to:html和防止雙重內容

respond_to :html 

與respond_with組合這個偉大的工程,到目前爲止,對接他的用戶仍然可以使用訪問我的網頁之一:

  • /我/頁
  • /我/頁/或
  • /my/page.html

我想這限制了他們的一個(更喜歡第一個)。完全刪除格式並不是一個解決方案,因爲我可能有一天會回覆json或xml。

預先感謝您的任何提示!

回答

0

這樣做會非常不愉快,也會讓您的網站更難用戶使用。除非你有這樣一個真正有吸引力的理由,否則我只會使用Rails的默認值,並接受一個事實,即你有很多不同的URL指向一個資源。這樣做真的不應該傷害你。

再一次,你應該不這樣做。但如果你真的想,你可以玩routes.rb手動創建你想要的路線。查看Rails routing guide瞭解更多關於如何生成看起來更像你想要的Rails路線的信息。

也就是說,這仍然可能不足以擺脫my/page /和my/page指向同一個地方。如果真的有必要,我會考慮完全放棄Rails,並使用像Sinatra這樣的不同框架,在這個框架中,對路由有非常細緻的控制(因爲框架根本沒有路由假設)。

但是最好的做法可能只是接受路線,並繼續前進。

+0

到目前爲止謝謝。我唯一擔心的就是網址,搜索引擎可能會將內容檢測爲雙重內容或將它們索引兩次。但我不是SEO的專家,所以我認爲我更喜歡創建一個規範鏈接元素,而不是限制路線。 再次感謝! – 2012-03-07 07:23:29