本文介绍了从ActiveRecord的:: RecordNotFound Rails中救援的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
一个用户只能编辑自己的帖子,所以我使用以下方法来检查,如果用户可以进入编辑方式:
A user can only edit its own post, so I use the following to check if a user can enter the edit form:
def edit
@post = Load.find(:first, :conditions => { :user_id => session[:user_id], :id => params[:id]})
rescue ActiveRecord::RecordNotFound
flash[:notice] = "Wrong post it"
redirect_to :action => 'index'
end
但它不工作,任何想法我做错了吗?
But it is not working, any ideas what I am doing wrong?
推荐答案
如果你想使用你需要使用救援语句找到()
在某种程度上,它引发例外的,那就是,通过标识要查找。
If you want to use the rescue statement you need to use find()
in a way it raises exceptions, that is, passing the id you want to find.
def edit
@post = Load.scoped_by_user_id(session[:user_id]).find(params[:id])
rescue ActiveRecord::RecordNotFound
flash[:notice] = "Wrong post it"
redirect_to :action => 'index'
end
这篇关于从ActiveRecord的:: RecordNotFound Rails中救援的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!