是否有正確的方法將Devise設置爲重定向用戶配置文件可通過root/:username
訪問?Rails Devise root /:用戶名url url
我知道如何設置設計來響應root/user/:username
,但不知道如何隱藏/取消/user
路徑。
謝謝!
是否有正確的方法將Devise設置爲重定向用戶配置文件可通過root/:username
訪問?Rails Devise root /:用戶名url url
我知道如何設置設計來響應root/user/:username
,但不知道如何隱藏/取消/user
路徑。
謝謝!
有網址,如:domain.com/jack
其中jack
是用戶名,您需要:
的routes.rb
get '/:name' => 'users#show', as: :profile
users_controller.rb
def show
User.find_by_name(params[:name])
end
鑑於
<%= link_to 'profile', profile_path(user.name) %>
或控制器動作
redirect_to profile_path(user.name)
非常感謝。這實際上是我的想法,但通過這樣做,所有其他靜態頁面(如root.com/about)將被視爲一個:用戶名。手動轉義他們並不是很聰明 – Patient55
你會希望實際上像'/ contacts/about_us/whatever_else_page'這樣的頁面轉義,在其他情況下,你將擁有'posts resource',例如在.com/posts處打開url應該看起來像對於路線文件所需的'posts#index'動作:'resources:posts'。此外,我發現了幾次,您在文件中聲明路線的順序將對您的應用程序產生影響。例如:在資源之前/之後聲明'get'/:name'=>'users#show'':帖子可能會對應用程序產生不同的影響,就像試圖首先打開一個路線,然後如果未定義路線千斤頂將進入profile_path。 – rmagnum2002
這非常有趣,非常感謝你的細節。我想你的意思是在最後一句話中的「post_path」。所以我設置每個獲得靜態與逃生:真,和資源用戶在第一(他們是最小的基地,因爲用戶has_many職位等)。我理解了一切嗎? – Patient55
您可以使用friendly_id gem來隱藏用戶的id。 –
謝謝你的回答!只是爲了重定向/ urlhiding,或許比爲其添加gem更簡單的方法? – Patient55