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

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

40得票2回答
Rails是否带有“未授权”异常?

我正在编写一个应用程序,使用纯粹的 Ruby 对象(POROs)将授权逻辑抽象出控制器。 目前,我有一个名为NotAuthorized的自定义异常类,在控制器级别上使用rescue_from对其进行捕获,但我很好奇: Rails 4中是否已经提供了表示未经授权的操作的异常?通过实现此异常,我...

17得票3回答
Rails的ActionController如何在每个操作中执行相同的代码?

针对Rails专家,我想知道您会在哪里/如何执行您的Web应用程序中每个操作的相同代码?如果您可以指向一篇文章或提供一个简短的代码片段,我将不胜感激。 提前感谢任何能提供帮助的人。

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

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

7得票1回答
Rails:如何选择控制器操作要呈现哪个js文件?

我知道Rails默认根据动作名称选择JavaScript文件进行渲染的事实: 例如,如果我有: def create #Code and Stuff happening here end 这里我有。 create.js.erb “which will be ran by...

72得票9回答
如何在每个环境中设置config.action_controller.default_url_options = {:host = '#''}

目前我正在使用这个方法,它适用于开发主机,但当我切换到生产环境时,我必须手动更改{:host => ""}代码。 post.rbdef share_all url = Rails.application.routes.url_helpers.post_url(self, :host =...

23得票2回答
skip_before_action和Rails 5

我刚刚升级到了Rails 5,一切都很顺利,但是由于某种原因,在skip_before_action之后调用的方法不允许rspec运行,并显示以下错误信息: 在process_action回调函数之前,redirect_heroku_user未被定义(ArgumentError)。 ...

12得票2回答
Rails“action”参数键冲突

我正在构建一个具有各种 CRUD 端点的 RESTful Rails 服务。在其中一个 Create 端点上,我传递的数据包括:... action: "action_name" ... 我遇到的问题是params[:action]包含"create",而不是我传递的action参数的实际值。...

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

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

14得票2回答
Rails 4的has_one关联表单无法生成

我需要一些关于Rails 4如何使用has_one和belongs_to关联的指导。 我的表单无法保存has_one的关系。 Post模型class Post < ActiveRecord::Base validates: :body, presence: true has...