don*_*ald 2 rubygems ruby-on-rails devise ruby-on-rails-3
我有/users/1公共用户配置文件(显示方法),但我想要/user_name而不是/users/1.
如果我使用设计,我可以实现吗?
谢谢
编辑:我的节目控制器:
# public profile page
def show
@user = User.find(params[:id])
end
Run Code Online (Sandbox Code Playgroud)
你能行的.Devise只是一种身份验证解决方案.您可以按照自己的意愿行事.以下是获取此URL行为所需步骤的概述.
user_name每个用户都是唯一的to_param方法以返回user_name这将在您的用户模型中
class User < ActiveRecord::Base
devise :database_authenticatable, :confirmable, :validatable
validates_uniqueness_of :user_name
def to_param
user_name
end
end
Run Code Online (Sandbox Code Playgroud)
然后,在您的控制器中,执行以下操作:
@user = User.find_by_user_name(params[:id])
Run Code Online (Sandbox Code Playgroud)
帮助者喜欢user_path(@user)使用该to_param方法生成URL.
至于改变路线从/user/:id到/:id.像这样的东西会起作用:
match '/:id' => 'users#show', :as => :user
Run Code Online (Sandbox Code Playgroud)
在这里你可以使用user_path和user_url因为:as => :user
但是你可以从阅读这些内容中受益:
当你这样做时,有很多事情要考虑.
| 归档时间: |
|
| 查看次数: |
2324 次 |
| 最近记录: |