Использование 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
У меня естьстолбец login
в Users
базе данных, где уникальное имя пользователя.People
- это просто контроллер для отображения некоторых сообщений, созданных пользователем.
Я обычно буду ссылаться на index.html.erb
под моим people
контроллером с URL-адресом http://localhost:3000/people/2
со следующим примером кода в User'sposts:
<a href="<%= person_path(@post.user.id) %>"><%=h @post.user_name %></a>
Я хочу, чтобы URL был http://localhost:3000/people/victor
, где victor
- это login
для пользователя.Этот URL также должен отображать профиль show.html.erb
в people
контроллере.
Что еще мне нужно сделать?Спасибо!