我的/map/mappge
页面已经从我的索引中获得了@name。所以我的地图控制器,
class MapController < ApplicationController
def mappage
@name = params[:name]
end
,我通过提交标签发送。
<form action="/map/mappage" method="GET">
<%= select_tag "univ", "<option selected>selected</option><option value='name1'>name1</option><option value='name2'>name2</option><option value='name3'>name3</option>".html_safe, class:"btn btn-default btn-hg dropdown-toggle" %>
<%= submit_tag "go", class:"btn btn-success btn-hg" %>
</form>
像这样。
当我选择name1
并提交它时,mappage网址看起来像
'myhost'/map/mappage?name=name1&commit=go
我想要做的是在保留名称参数的同时调用ajax。 所以我打电话给
$(document).ready(function () {
$("#my_button").click(function () {
var ajax_name = "<%= @name %>";
$.ajax({
url: "/map/mappage",
type: 'GET',
data: {
'name': ajax_name
},
success: function (data) {
alert("good");
}
});
});
});
点击"#my_button"
后,系统会显示提醒信息。问题是,当我点击"#my_button"
时,出现错误。 @name
是零。我检查了我的网址是否
'myhost'/map/mappage?#
如何保留@name参数?我可以阅读的任何建议或文件吗?
答案 0 :(得分:2)
执行此操作的rails way
是使用包含remote: true
的表单及其端点(具有respond_to :js
的控制器和相应的.js
视图)
请告诉我,如果您需要使用某些代码进行说明。
答案 1 :(得分:0)
你可以使用gem&#39; gon 似乎很容易通过视图将控制器轨道中的参数传递到javascript文件