做到这一点的最佳方法是什么?
@user = UserFinder.find(first_name: "Dave")
if !@user
return render :text => '// No user named Dave found'
end
if @user.last_name != "Edwards"
# This is not the guy we want
@user.destroy
# Now we want to re-execute the search again forever until we find Dave Edwards
end
请记住,这是我拥有的真实代码的一个非常简单的示例,所以我知道我可以首先过滤查询,但我想要这样。
我不确定如何使用begin
and while
blocks 来执行此操作,因为如果我们遇到不需要的用户,则需要销毁它。
我的尝试:
begin
@user = UserFinder.find(first_name: "Dave")
return render :text => '// No user named Dave found'
end while @user.destroy if @user.last_name != "Edwards"
这不起作用,因为while
块得到的结果destroy
不是比较last_name
PS如果这是不可能的,如何用相同的参数重新加载Rails控制器动作?