【发布时间】:2016-04-07 01:25:03
【问题描述】:
我知道这个问题已经被问过很多次了,但我似乎无法找到我正在寻找的对我有帮助的答案。所以我创建了用户的个人资料页面,它们工作得很好。当我手动输入用户 ID 时,例如 http://localhost:3000/users/3 会显示特定用户的个人资料页面。现在,我希望能够在该人登录时链接到我的标题中的当前用户个人资料页面,并希望能够在他们单击帖子上的人的用户名时链接到任何人的个人资料页面。
当我有以下代码行时,这是我从标题中得到的错误
<%= link_to "Profile", user_path %>
这些是我的路线
resources :posts
devise_for :users
resources :users, :only => [:show]
这是我的用户控制器
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
@user_posts = @user.posts
end
end
这是我在帖子上有用户名的部分
<div class="panel-body">
<p><strong><%= @post.user.username if @post.user %></strong></p>
<p><%= @post.description %></p>
<% if @post.user == current_user %>
<%= link_to 'Edit', edit_post_path(@post) %>
<% end %>
</div>
如果你们需要更多信息,我很乐意写下更多信息。同样,我想要做的是能够在他们登录时在标题中拥有指向当前用户个人资料页面的链接,并能够单击任何帖子上的用户名以查看该用户的个人资料。
这是我的路线
【问题讨论】:
-
你能显示 rake:routes
-
你希望 show 方法使用用户名而不是 ID
-
我该怎么做呢?对不起,我没有用 Ruby 进阶
-
在模型def to_param username end中添加这个方法并尝试在show方法控制器中的User.find_by_username
标签: ruby-on-rails-4 user-profile