远程调用后从控制器返回值到js

时间:2013-05-17 04:11:45

标签: jquery-ui ruby-on-rails-3.2

我知道这是基本的,但我在将数据从控制器发送到我的rails应用程序中的.js.erb页面时遇到了问题

我可以使用我的link_to函数中的remote => true来调用我的主控制器。 此代码位于我的index.html.erb页面

<%= link_to 'Process', post, method: :delete, data: { confirm: 'Are you sure?' },:remote=>true,:class=>"test" %>

在我的控制器中我做了一些事情,想要将一些数据返回到默认的ajax返回页面,这将是index.js.erb

def destroy
  @post = Post.find(params[:id])
  @post.destroy
  @test = 1
  respond_to do |format|
    format.html { redirect_to posts_url }
    format.json {render json: @test}
    format.js  #this will redirect me to index.js.erb page where i would like to manipulate @test 
  end
end

这是微不足道的,但你能告诉我们如何设置传递@test到index.js.erb,以便我可以将它用作数据并检索它

由于

1 个答案:

答案 0 :(得分:0)

您可以在js模板中使用与html模板相同的实例变量。唯一需要注意的是,您需要将服务器输出包装在javascript_escape

# index.js.erb
$('#some-div').html('<%= j(@test) %>)

jjavascript_escape

的别名