gpt4 book ai didi

ruby-on-rails - 使用 DataMapper get 在 Rails3 Controller 中处理 404 的最佳方法

转载 作者:太空宇宙 更新时间:2023-11-03 17:08:54 24 4
gpt4 key购买 nike

非常简单,我想像在 Merb 中那样调用 DataMapper 来处理正常的 [show] 请求。

使用 ActiveRecord 我可以做到这一点:

class PostsController
def show
@post = Post.get(params[:id])
@comments = @post.comments unless @post.nil?
end
end

它通过捕获资源的异常来处理 404。

DataMapper 不会自动执行此操作,所以现在我正在使用此解决方案解决它:[移入答案]

可以在 not_found 函数中告诉 Controller 停止吗?

最佳答案

我喜欢用异常抛出,然后用ActionController的rescue_from

例子:

class ApplicationController < ActionController::Base
rescue_from DataMapper::ObjectNotFoundError, :with => :not_found

def not_found
render file => "public/404.html", status => 404, layout => false
end
end

class PostsController
def show
@post = Post.get!(params[:id]) # This will throw an DataMapper::ObjectNotFoundError if it can't be found
@comments = @post.comments
end
end

关于ruby-on-rails - 使用 DataMapper get 在 Rails3 Controller 中处理 404 的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3515263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com