Rails的配置文件中的用户名

使用RoR 2.3.8。我有以下代码: user.rb
def to_param
  "#{login.downcase.gsub(/[^[:alnum:]]/,'-')}".gsub(/-{2,}/,'-')
end
people_controller.rb
def show
  @person = User.find(params[:id])

  if current_user == @person
    @posts = @person.posts.paginate(:page => params[:page], :order => order)
  else
    @posts = @person.posts.by_status('published').paginate(:page => params[:page], :order => order)
  end
end
我在
Users
数据库中有一个列
login
,其中唯一的用户名是。
People
只是一个控制器,用于显示用户创建的一些帖子。 我通常会在用户帖子中使用以下代码示例链接到我的
people
控制器下的
index.html.erb
和url
http://localhost:3000/people/2
<a href="<%= person_path(@post.user.id) %>"><%=h @post.user_name %></a>
我希望URL为
http://localhost:3000/people/victor
,其中
victor
是用户的
login
。此网址实际上还应显示
people
控制器中的配置文件
show.html.erb
。 我还需要做什么?谢谢!     
已邀请:
我使用friendly_ID gem来做这类事情 - 它非常简单 - 祝你好运     
我会修改routes.rb,如下所示:
match 'people/:login' => 'people#show', :as => 'login'
然后修改people_controller.rb:
def show
  @person = User.where(:login => params[:login]).first
end
在附加信息后编辑 纠正错误     

要回复问题请先登录注册