我在UsersController如何为Rails has_many关联创建一个“if语句”?
def show
@user = User.find(params[:id])
if current_user.id != params[:id] #! need to fix this
@answer = Answer.new
else
@answer = Answer.find(params[:id])
end
以下,其中通过测验模型中的每个用户的has_many答案。如何编写if语句,如果答案对于特定用户而言是空白的,它将跳转到创建新测验? (如果不是,则显示该信息)。
那么我有点不清楚你在这里设置的所有细节 - 没有测验或答案信息 - 但如果你想检查一个用户是否采取了特定的测验为什么不为用户创建一个交叉连接表,测验并且只有在他们参加测验时才会设置(或者如果您想要,可以使其更加复杂)。我的信念是,你在答案上的基础是错误的,你应该把它放在测验上?但是我正在对未见过的东西进行假设( – MageeWorld
)虽然很多人都可能在这种情况下在暗处刺伤,但提供更多信息可能会更有帮助,例如当您说用户有许多答案通过测验模型,你指的是一个实际的'has_many:答案,通过::测验'关系,或只是说用户has_many测验,并且测验has_many答案?或许还会放置你的模型代码? –