rails3,clean url,friendly_id,sessions

时间:2011-06-23 23:29:41

标签: ruby-on-rails-3 session clean-urls friendly-id

我正在使用friendly_id它工作得很好我向我的事件控制器添加了一个新的私有操作,以确保只有事件所有者可以更新他们的事件...我的显示和删除操作工作正常但是当我做更新时我得到一个错误

EventController#edit中的ActiveRecord :: RecordNotFound 找不到ID = snow-board

的用户

有任何解决此问题的建议吗?

## Events controller
..scaffold generated code
private

 def correct_user
   @user = User.find(params[:id])
      redirect_to(:controller =>'events', :action => 'edit',:id => session[:user_id]) unless current_user?(@user)
 end

## Event view
 link_to 'Edit', edit_event_path(event) 

## Even Model

has_friendly_id :name, :use_slug => true
...validation code

## Session Helper

def current_user=(user)
    @current_user = user
end

1 个答案:

答案 0 :(得分:0)

这是否有效(使用from_param而不是查找)?

 def correct_user
   @user = User.from_param(params[:id])