将参数从js.erb文件传递到js文件

时间:2015-11-19 09:11:22

标签: ruby-on-rails ajax ruby-on-rails-4

我已经从ajax call /assets/js/myfile.js发起了@myVar = ModelClass.create(params) respond_to do |format| format.js format.html end 点击控制器并且在我的控制器操作中

myaction.js.erb 这样我就可以使用我的$("#box_div").append('<%= escape_javascript(render :partial => "box.html.erb") %>');文件功能。我有如下 @myVar

要记住的是,我可以在js.erb文件中访问partial view变量并显示数据。在此点之后呈现ajax success function并且所有部分标记/值都会在$.post("/conversations", { sender_id: sender_id, recipient_id: recipient_id }, function (data) { **//I want id value sent back from js.erb file here** console.log(data); });中回发。由于局部渲染,它看起来像一个小的html页面。 (一切都是正常行为  现在我想要的是我想传回一个特定的参数,如id:&lt;%= @ myVar.id%&gt;

my /assets/js/myfile.js

{{1}}

1 个答案:

答案 0 :(得分:1)

你可以尝试这种方式只是创建粗糙的骨架:

<强> myfile.js

myvar_id = $("#myvar").val();
$.post("/conversations", { sender_id: sender_id, recipient_id: recipient_id }, function (data) {
//I want id value sent back from js.erb file here
   console.log(data);
});

<强> Js.erb

$("#box_div").append('<%= escape_javascript(render :partial => "box.html.erb") %>');

<强> _box.html.erb

 <input type="hidden" id="myvar" value="<%= @myvar.id %>">