35得票9回答
Rails 3:如何获取当前命名空间?

使用方法:layout_for_namespace,我可以根据当前所处的前端或后端(后端是使用名称空间“admin”)设置应用程序的布局。 我找不到一种简单的方法来确定我所在的名称空间,唯一能找到的方法是通过解析params[:controller]中的字符串。当然,这很简单,似乎很安全并且...

8得票2回答
Ruby on Rails 301重定向

我给一些模型添加了“slugs”,但由于SEO的原因,我需要从旧链接进行301重定向: 旧链接: http://host.com/foo/1 新的: http://host.com/foo/foo_slug 问题: 如何在这种情况下实现301重定向? 并且是否可以从大写的链接中实现...

11得票2回答
Rails 5控制器中捕获:abort信号的最佳方法

在Rails 5中,当回调需要取消后续回调时,建议的过程已记录在案,“您应该明确地throw:abort。” 我的问题是:推荐如何捕获此异常? 我的当前解决方案是在我的ApplicationController中捕获UncaughtThrowError - 鉴于它的文档方式,我认为此功能...

19得票3回答
如果before_action返回false,如何执行一个操作

我知道下面的代码: before_action :signed_in?, only: [:new] 如果signed_in?返回true,那么将执行new操作,但是如果我想让signed_in?返回false时执行new操作,我该怎么做呢?我需要创建一个新的方法,比如not_signed_...

13得票1回答
异常的after_filter

有没有类似于after_filter的东西,即使操作引发异常仍会运行? 我正在使用外部记录器(因为我在Heroku上); 响应标头在after_filter中被过滤和记录。 如果引发异常,则过滤器不会运行,我就没有响应标头数据的日志。 如果我尝试挂钩log_error或rescue_act...

11得票1回答
Rails 3:使用respond_with正确删除资源的方法

我试图通过使用respond_with来简化控制器。在遵循 Railscast 中的一些指示后,大部分都能正常工作。问题出在删除资源后的重定向上...应该重定向到 people_url...但实际上会尝试加载特定的资源。 我找到的示例代码如下...但它试图加载刚刚删除的资源,导致失败:# a...

7得票3回答
从路由错误中解救Rails 3.1

如何在Rails 3.1应用程序中从RoutingError中解救出来。如果我没记错的话,以前可以在应用程序控制器中使用rescue_from RoutingError,但现在不行了。

34得票1回答
使用`ActiveRecord with_connection do`和ActionController::Live时出现线程错误

重大修改:自从最初发现这个问题以来,我将其缩小到以下内容。我认为这现在是对该问题的略微更精确的描述。因此,对于原始帖子上的评论可能不完全相关。 编辑:轻微修改后发布在rails/puma项目中:https://github.com/rails/rails/issues/21209,https...

10得票2回答
如何使用GRAPE API允许二进制文件下载

我想在Ruby的Grape API中允许下载二进制文件(.p12文件),以下是我的尝试:get '/download_file' do pkcs12 = generate_pkcsfile content_type('application/octet-stream') body...

11得票2回答
RoR - 哪种更好- Rack中间件还是Active Controller过滤器?

针对最新版本的 Ruby on Rails(在提问时为 4),实现修改请求/响应的代码,例如身份验证机制,有什么首选方法?我看到很多网站和教程都推荐使用Rack 中间件,但好像可以通过Action Controller 过滤器方法实现相同功能。 除了讨论首选方法外,还能否提供每种方法的优缺点...