如何生成指向个人资料ID的链接?

时间:2019-01-28 01:53:33

标签: ruby-on-rails ruby

我有两个控制器-ProfilesController和UsersController。我有一个充满博客帖子的页面,我希望每个帖子都有指向创建这些帖子的用户的个人资料的链接。我最近一直对此感到毛骨悚然,我想重新开始,但不知道从哪里开始。我该怎么办?

后置控制器:

char max(char x, const char *y) {
     ...
}

...
max ('a', "b");

个人资料模型:

 def index
  if params[:search]
    @posts = Post.search(params[:search]).order("created_at DESC").paginate(page: params[:page], per_page: 5)
  else
    @posts = Post.all.order('created_at DESC').paginate(page: params[:page], per_page: 5)
  end
 end

用户模型:

class Profile < ApplicationRecord
  belongs_to :user
end

2 个答案:

答案 0 :(得分:1)

您的SQL表如何?最好在Posts表中有一个user_id字段,这样您就可以按id(user_id)搜索用户并通过以下方式处理链接:

<%= link_to 'Post Owner', user_path(post.user_id) %>

检查它是否适合您,并告诉我。

答案 1 :(得分:0)

首先,我们获得每个帖子的对象profile,如下所示(您应该在rails控制台中尝试使用):

@posts.first.user.profile # get the profile of first post

此后,我们使用profile_path生成到profiles#show的链接(当然,您需要定义一个控制器Profile

profile_path(@posts.first.user.profile)

我经常在view中进行操作,而不是在controller中进行操作。

编码愉快!