我知道这是基本的,但我在将数据从控制器发送到我的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,以便我可以将它用作数据并检索它
由于
答案 0 :(得分:0)
您可以在js模板中使用与html模板相同的实例变量。唯一需要注意的是,您需要将服务器输出包装在javascript_escape
。
# index.js.erb
$('#some-div').html('<%= j(@test) %>)
j
是javascript_escape