【发布时间】:2019-09-17 19:04:59
【问题描述】:
我正在查看我们公司的一个 RoR 应用程序中的一些代码。而且我注意到,有时会使用带问号的方法,例如我们的一个控制器中使用的以下方法。
# readonly checker
# @param url to redirect or nil
# if url set up, goes to url with note "not allowed because readonly"
# else @returns true / false
def readonly?(url = nil)
if current_user_can_access?(:readonly)
message = I18n.t(:auth_readonly)
if request.xhr?
response.status = 403
render json: { error: message }
else
redirect_to url, notice: message unless url.nil?
end
true
else
false
end
end
我的问题是,readonly? 是否也可以接受(并且通常)也重定向到某个地方。
我习惯于实现问号方法,只返回可转换为布尔值的值,不对模型、数据库进行更改...
【问题讨论】:
标签: ruby-on-rails ruby methods