我的Rail应用程序上的编辑方法有问题。它一直在工作,直到我开始添加一些逻辑。 我有一个视图,其中包含应该搜索数据库的控制器的链接,如果该用户存在记录,并且该夹具重定向到编辑操作,并允许用户编辑该记录,如果没有,则重定向到新操作。 进来的行动是teamentry。
before_action :find_submisionedit, only: [:edit]
def teamentry
@venue = params[:fixture]
if (Submission.exists?(:user_id => current_user.id)) && (Submission.exists?(:p1_venue => params[:fixture]))
redirect_to action: "edit" , fixture: @venue
else
redirect_to action: "new" , fixture: @venue
end
end
新动作正常。编辑会引发错误。
我正在尝试使用之前的行动。
def find_submisionedit
@submission = Submission.where(user_id = current_user.id) && (p1_venue = params[:fixture])
end
我得到一个no方法错误。 我猜这是因为之前的行动没有找到正确的信息?
答案 0 :(得分:1)
你的语法错误。它应该是:
@submission = Submission.where(user_id: current_user.id, p1_venue: params[:fixture])
您也可以在teamentry方法中应用相同的逻辑:
if Submission.where(user_id: current_user.id, p1_venue: params[:fixture]).any?
redirect_to action: "edit" , fixture: @venue
#...