我有两个控制器-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
答案 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
中进行操作。
编码愉快!