[英]send data from view to controller in rails
我想通过Ajax从视图向Rails中的控制器发送一些数据。
我在app / view / static / home.html.erb中有以下代码
<script type="text/javascript">
var dummy = "testtext";
$('#finish').click(function() {
$.ajax( {
url: '/finish',
type: 'POST',
data: dummy,
dataType: 'text'
});
});
</script>
<body>
<%= button_to "Finish", {:action => 'finish', :controller => 'static'}, :method => :post, id => 'finish' %>
</body>
在app / view / static / finish.html.erb中
<p><%= @data %></p>
app / controller / static_controller.rb
def finish
@data = params[:data]
end
在routes.rb中
post 'finish' => 'static#finish'
我的理解是,单击按钮后,将执行ajax脚本,并且rails动作将存储从视图传递的数据。 这似乎不起作用。 我不确定我对流程的理解是否正确。
因为您要在控制器中调用params [:data],所以需要在AJAX数据部分中指定{data:dummy}
<script type="text/javascript">
var dummy = "testtext";
$('#finish').click(function() {
$.ajax( {
url: '/finish',
type: 'POST',
data: {data: dummy},
dataType: 'text'
});
});
</script>
另外,您可能想使用以下命令在控制器中响应AJAX调用
def finish
@data = params[:data]
respond_to do |format|
format.json { insert_your_code_here }
end
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.