Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Rails中ajax调用的js响应中包含html标记_Javascript_Jquery_Ruby On Rails_Ajax - Fatal编程技术网

Javascript 如何在Rails中ajax调用的js响应中包含html标记

Javascript 如何在Rails中ajax调用的js响应中包含html标记,javascript,jquery,ruby-on-rails,ajax,Javascript,Jquery,Ruby On Rails,Ajax,我有一个控制器方法来登录我的应用程序,如下所示: def create user = User.find_by(mail: params[:session][:mail].downcase) if user && user.authenticate(params[:session][:password]) if user.confirmed? # Stuff when login is OK .......

我有一个控制器方法来登录我的应用程序,如下所示:

def create
  user = User.find_by(mail: params[:session][:mail].downcase)
  if user && user.authenticate(params[:session][:password])
    if user.confirmed? 
        # Stuff when login is OK
        .......         
    else
        logout
        text = I18n.t("error.login.confirmation", :link => ActionController::Base.helpers.link_to(I18n.t("button"), confirm_user_path(user), :class => 'btn btn-info'))
        @result = ActionController::Base.helpers.sanitize(text, :tags => ['br','a']).html_safe
        respond_to do |format|
            format.html { render 'new' }
            format.js { @result.html_safe }

        end
    end
  # more stuff
  .......
  end  
end
如果用户尚未确认电子邮件,我希望向他显示一条带有链接的消息,以重新发送确认邮件:

 Please confirm your signup. <br /> <br /> <a class="btn btn-info" href="/users/48/confirm_user">Re-send confirmation mail.</a>
请确认您的注册

更新:这是渲染视图的方式

$("p.bg-danger").html("<%= @result %>")
$(“p.bg-danger”).html(“”)

创建
操作中,不需要键入
@result.html\u safe
,因为它实际上在这里什么都不做。相反,您可能希望告诉控制器不要渲染布局

def create
  # ...
  respond_to do |format|
    format.html { render 'new' }
    format.js { render layout: false }

  end
end
然后,在中创建.js.erb

$("p.bg-danger").html('<%=j @result %>');
$(“p.bg-danger”).html(“”);

创建
操作中,不需要键入
@result.html\u safe
,因为它实际上在这里什么都不做。相反,您可能希望告诉控制器不要渲染布局

def create
  # ...
  respond_to do |format|
    format.html { render 'new' }
    format.js { render layout: false }

  end
end
然后,在中创建.js.erb

$("p.bg-danger").html('<%=j @result %>');
$(“p.bg-danger”).html(“”);

创建
操作中,不需要键入
@result.html\u safe
,因为它实际上在这里什么都不做。相反,您可能希望告诉控制器不要渲染布局

def create
  # ...
  respond_to do |format|
    format.html { render 'new' }
    format.js { render layout: false }

  end
end
然后,在中创建.js.erb

$("p.bg-danger").html('<%=j @result %>');
$(“p.bg-danger”).html(“”);

创建
操作中,不需要键入
@result.html\u safe
,因为它实际上在这里什么都不做。相反,您可能希望告诉控制器不要渲染布局

def create
  # ...
  respond_to do |format|
    format.html { render 'new' }
    format.js { render layout: false }

  end
end
然后,在中创建.js.erb

$("p.bg-danger").html('<%=j @result %>');
$(“p.bg-danger”).html(“”);

我会使用html实体对它们进行转义,例如,然后解析这些客户端,并使用js或jquery将其添加到dom中。@Todd:我已经用呈现视图更新了这个问题。如何进行解析?我将使用html实体对它们进行转义,例如,然后解析那些客户端,并使用js或jquery将其添加到dom中。@Todd:我已经用呈现视图更新了这个问题。如何进行解析?我将使用html实体对它们进行转义,例如,然后解析那些客户端,并使用js或jquery将其添加到dom中。@Todd:我已经用呈现视图更新了这个问题。如何进行解析?我将使用html实体对它们进行转义,例如,然后解析那些客户端,并使用js或jquery将其添加到dom中。@Todd:我已经用呈现视图更新了这个问题。你是如何解析的?它是有效的!但我不知道为什么。@result如何到达视图?通过控制器中的“@”可以,
@
表示给定变量成为实例变量。实例变量在任何实例控制器方法中都可用。所以,在controller中定义的任何实例变量在view中都是可用的,因为它只是由适当的controller方法呈现的模板(
ERB
)!但我不知道为什么。@result如何到达视图?通过控制器中的“@”可以,
@
表示给定变量成为实例变量。实例变量在任何实例控制器方法中都可用。所以,在controller中定义的任何实例变量在view中都是可用的,因为它只是由适当的controller方法呈现的模板(
ERB
)!但我不知道为什么。@result如何到达视图?通过控制器中的“@”可以,
@
表示给定变量成为实例变量。实例变量在任何实例控制器方法中都可用。所以,在controller中定义的任何实例变量在view中都是可用的,因为它只是由适当的controller方法呈现的模板(
ERB
)!但我不知道为什么。@result如何到达视图?通过控制器中的“@”可以,
@
表示给定变量成为实例变量。实例变量在任何实例控制器方法中都可用。所以,在controller中定义的任何实例变量也可以在view中使用,因为它只是由适当的controller方法呈现的模板(
ERB
)。