我想在我的页面上有一个链接(是否有更好的选择?),单击该链接将发出Ajax请求。(单击链接后,我想更新数据库中的字段。)
实现此目的的最简单方法是什么?
你能推荐我一些教程吗?
真的很简单。在您看来,有这样的链接/按钮。重要的一点是 :remote = > true
<%= link_to 'Update Thingy', update_thingy_path, :confirm => 'You sure you wanna update?', :remote => true %>
要么
<%= button_to('Update Thingy', {:action => 'update_thingy', :thingyid => 314}, :method => :get, :remote => true) %>
显然,您必须获取update_thingy_path才能正常解决某些问题。区别在于渲染时将渲染 .js.erb而不是 .html.erb。在该update_thingy.js.erb中,您只需将要运行的任何javascript放在客户端中即可。您可能想通知用户该更新已发生(例如,在jQuery中):
$('#notice').html("Thingy was update.")
或者,如果您要返回的任何JavaScript都非常简单,则在控制器中,您可以执行以下操作,而不必为一个代码行添加整个js.erb。
render :js => "alert('Blah')"