Rails3、干净的 url、friend_id、会话

发布于 2024-11-16 16:50:31 字数 656 浏览 8 评论 0原文

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

ActiveRecord: :EventsController 中未找到记录#edit 找不到 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

I'm using friendly_id it works wonderful I add a new private action to my events controller to make sure only events owner can update their events...my show and delete action works fine but when I do an update I get an error

ActiveRecord::RecordNotFound in EventsController#edit
Couldn't find User with ID=snow-board

any suggestions to fix this ?

## 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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

悲念泪 2024-11-23 16:50:31

这有效吗(使用 from_param 而不是 find)?

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

Does this work (use from_param and not find)?

 def correct_user
   @user = User.from_param(params[:id])
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文