如果我有一个User
that ,假设我已经在andhas_many :problems
之间建立了必要的关联,我该怎么做:User
Problem
# UsersController.rb
def students_problems
@userId = params[:user_id]
@problems = give me all problems associated with this @userId
end
如果我有一个User
that ,假设我已经在andhas_many :problems
之间建立了必要的关联,我该怎么做:User
Problem
# UsersController.rb
def students_problems
@userId = params[:user_id]
@problems = give me all problems associated with this @userId
end
假设您所有的关联和数据库字段都是正确的。
@problems = User.find(params[:user_id]).problems
@user = User.find(params[:user_id])
@problems = @user.problems
理想情况下,如果您打算对代码做更多事情,您会希望在模型中执行此操作。所以你可以为你的控制器创建一个这样的模型方法。
@problems = User.name_your_method_here(params[:user_id])
然后在你的用户模型中你有
self.name_your_method_here(user_id)
User.find(user_id).problems
end
您可能想要添加一些条件以确保user_id
匹配真实用户,但我将由您来完成。
编辑:正如 lebreeze 建议的那样,将方法的名称更改为不同的名称可能是明智的,至少与它与您对代码所做的事情相关。