weixin_33681778 2018-02-18 20:07 采纳率: 0%
浏览 12

将http请求重定向到ajax

My app has a modal sign in form that I display using ajax:

<% if !current_user %>
  <%= link_to "Sign in", signin_path, remote: true %>
<% end %>

routes.rb

get 'signin', to: 'static_pages#signin', as: 'signin'

static_pages_controller.rb

def signin
  respond_to do |format|
    format.html { render :action => 'signin.js.erb' }
    format.js   { render :action => 'signin.js.erb' }
  end     
end  

signin.js.erb

$('#modalPlaceholder').html("<%= j render(partial: '/static_pages/signin') %>");
$('#modalPlaceholder').show();

This works well.

I would now like to intercept actions that require user sign in and display this modal. In my application controller I have:

application_controller.rb

def require_signin!
  if current_user.nil?
    render :action => '../static_pages/signin.js.erb'
  end
end
helper_method :require_signin!

This works when the originating action is remote: :true and rails simply redirects it however when the originating action is a standard request the action is intercepted correctly by the application controller however the modal is displayed on screen in raw html and not loaded correctly.

  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥15 GEO下载数据的处理报错 :函数‘Meta’标签‘"data.frame"’找不到继承方法,如何解决?
      • ¥15 DLNM模型是否可以用二分类变量作为y变量
      • ¥15 android object box 一个实体多个表怎么写
      • ¥15 temux 启用docker 服务失败
      • ¥15 Flask 使用celery发送邮件出现‘目标计算机积极拒绝‘
      • ¥60 老人用的sd卡在手机里面不知道操作了什么,导致图片和视频变成了文件,取下sd卡连接电脑就是图中的样子,后缀改为.jpg才可以,需要用系统的画图软件才能打开,文件属性还是文件,有没有批量操作的解决办法
      • ¥15 超时跳出方法代码的返回值问题
      • ¥15 汇编语言程序设计设计,ascii码求数,再求数的BCD码
      • ¥30 Mask rcnn训练自己的数据集出现问题!
      • ¥20 研究人工智能时的几个问题