11得票5回答
如何从控制器外部访问Rails控制器视图上下文?

我正在清理一些依赖于自定义控制器帮助方法的代码,通过创建一个“普通的 Ruby”Presenter对象来实现。在我的控制器中,我能够将视图上下文传递给该类:def show # old code: view_context.bad_helper_method @foobar = Foo...

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

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

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

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

10得票1回答
Rails 4.2 ActionController:BadRequest自定义错误信息

我希望你的控制器能够在验证失败或参数缺失时返回400 - 错误请求。因此,在我的控制器中,我有以下代码: if params["patch"].nil? then raise ActionController::BadRequest.new( "The Json body needs t...

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

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

10得票1回答
Rails 6 - 常量 ActionController::InvalidAuthenticityToken

我正在尝试使用Rails 6,但是我经常在由Rails生成的表单上遇到ActionController :: InvalidAuthenticityToken错误,例如(实现Rails教程书的注册/登录流程)。 <%= form_for(@user, url: 'signup') do...

9得票4回答
Rails 控制器未知格式

我尝试渲染一个 xlsx 文件,但是一直收到 406/UnknowFormat 的错误提示。我已经进行了正确的设置,可能是我错过了什么吗? 这是一个 Rails 4.2 应用程序。 gem 'axlsx' gem "axlsx_rails" gem 'zip-zip' 配置/初始化程序...

9得票4回答
rescue_from ::AbstractController::ActionNotFound不起作用

I have the following code: unless Rails.application.config.consider_all_requests_local rescue_from Exception, with: :render_exception rescue_...

9得票2回答
如何使用ActionController::Live从MongoDB下载CSV数据?

我已经在控制器中创建了一个 CSV 下载器,代码如下: format.csv do @records = Model.all headers['Content-Disposition'] = "attachment; filename=\"products.csv\"" h...

9得票3回答
Ruby on Rails - 何时使用 params.permit! 以及如何替换它

我正在处理一个旧版本的Rails应用程序,其中控制器有很多params.permit!实例。在对其进行Brakeman扫描时,params.permit!会导致应用程序出现批量赋值漏洞。 我的问题是- 如何有效地解决这个params.permit!漏洞并替换它?