如果可以,我想隱藏URL中的user_id。Ruby on Rails - 在URL中隱藏user_id
http://domain.com:3000/users/1
這裏是頁信息。
行動:顯示 控制器:用戶 ID:「1」
如果可以,我想隱藏URL中的user_id。Ruby on Rails - 在URL中隱藏user_id
http://domain.com:3000/users/1
這裏是頁信息。
行動:顯示 控制器:用戶 ID:「1」
URL中的ID是必需的,這樣的控制器/動作知道它應該在頁面上顯示哪些用戶。在這種情況下,它向用戶顯示ID爲1的用戶,但在其他情況下,您可能想要顯示其他用戶的詳細信息。
可以用URL中的id
替換其他識別信息,例如username
。
爲此,請參見http://railscasts.com/episodes/63-model-name-in-url。您只需重寫模型中的to_param
方法。
感謝您的幫助 –
要做到這一點。在用戶模式確保您有:
is_sluggable :whatever-attribute-you-want-to-mask-users/1
在用戶的控制器使用方法:
@user = User.find_using_slug(params[:user])
有一個使用friendly_id新Railscast,一個偉大的寶石,提供URL重命名: http://railscasts.com/episodes/314-pretty-urls-with-friendlyid
感謝老闆我很感激 –
目的是什麼?你只是想使用非序列標識符來避免暴露「可猜測」的信息?或者您是否想僅從會話中訪問當前用戶的ID,並假設如果沒有您指的是當前用戶的ID?要麼...? –
我不希望人們知道我有多少訂閱者。我在下面得到了答案。謝謝。 –
暴露一個ID不會告訴任何人你有多少用戶。另外,你可以從任意數字開始,或者使用GUID等。還有一個[gem for this](https://github.com/norman/friendly_id)。 –