我有一个名为“Profile”的模型。
我想仅根据current_user.id显示个人资料,因此当用户转到/个人资料时,它会“显示”个人资料,而不是列出个人资料。
配置文件在模型中有user_id列。
Profile的控制器当前设置为:
class ProfileController < ApplicationController
before_filter :authenticate_user!
def index
@profiles = Profile.where(user_id:current_user.id)
end
def show
@profile = Profile.find(params[:id])
end
我查看了Active Records查询方法,但我找不到合适的答案。
答案 0 :(得分:1)
看看here,了解奇异资源。顺便提一下,它谈到了您的具体用例。假设您有current_user和has_one关系设置,那么您可以调用@profile = current_user.profile
更详细一点,如果将resources:profile添加到路由文件中,则只需链接到profile_path即可。这将路由到show动作。只需确保设置current_user并检索利用has_one关系的配置文件。
希望这有帮助。