admins: modify base render helper

dev_unstable^2
p31729568 6 years ago
parent 6b5e333442
commit dec0b4d16d

@ -1,36 +1,34 @@
module Admins::RenderHelper
extend ActiveSupport::Concern
def render_by_format(hash)
format = request.format.symbol
hash.key?(format) ? hash[format].call : hash[:html].call
end
def render_forbidden
respond_to do |format|
format.html { redirect_to '/403' }
format.json { super }
end
render_by_format(html: -> { redirect_to '/403' },
json: -> { render status: 403, json: { messages: I18n.t('error.forbidden') } } )
end
def render_not_found
respond_to do |format|
format.html { render 'admins/shared/404' }
format.js { render_js_error('资源未找到') }
format.json { render status: 404, json: { message: '资源未找到' } }
end
render_by_format(html: -> { render 'admins/shared/404' },
js: -> { render_js_error('资源未找到') },
json: -> { render status: 404, json: { message: '资源未找到' } })
end
def render_unprocessable_entity(message)
respond_to do |format|
format.html { render 'admins/shared/422' }
format.js { render_js_error(message) }
format.json { render status: 422, json: { message: message } }
end
render_by_format(html: -> { render 'admins/shared/422' },
js: -> { render_js_error(message) },
json: -> { render status: 422, json: { message: message } })
end
alias_method :render_error, :render_unprocessable_entity
def internal_server_error(message = '系统错误')
respond_to do |format|
format.html { render partail: 'admins/shared/500', locals: { message: message } }
format.js { render_js_error(message) }
format.json { render status: 500, json: { message: message } }
end
@message = message
render_by_format(html: -> { render 'admins/shared/500' },
js: -> { render_js_error(message) },
json: -> { render status: 500, json: { message: message } })
end
def render_js_template(template, **opts)

@ -2,5 +2,5 @@
<div class="global-error-code">
<span>500</span>
</div>
<div class="global-error-text"><%= message %></div>
<div class="global-error-text"><%= @message %></div>
</div>
Loading…
Cancel
Save