0

我知道这是基本的,但我在我的 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

这很简单,但你能告诉我们如何将 pass @test 设置为 index.js.erb 以便我可以将其用作数据并检索它

谢谢

4

1 回答 1

0

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

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

j是别名javascript_escape

于 2013-05-17T04:54:57.193 回答