1

是否可以使用 jQuery 将数据库表中的最后一条记录添加到 html 表的最后一行?

像这样的东西:

  $(".save-expense .btn").click ->
    $('#expense_table').append( Expenses.last )

并指明使用哪些字段。

谢谢!

4

1 回答 1

2

首先是好消息:是的,有可能:)

您想要的是向您的服务器发送一个 ajax 请求,该请求返回最后的费用信息。所以你的javascript应该看起来像这样。

应用程序.js
$(".save-expense .btn").live('click', function(){
  $.ajax({
    type: 'GET',
    url: '/your_controller/last_expense/', # make sure this url is correct
    data: '', # you can also send data if you want
    dataType: "script"
  });
 };

你的控制器需要知道如何响应这个请求,所以:

your_controller.rb
def last_expense
  # if you send data you can access it via params hash
  # e.g. params[:my_data]
  @last_expense = Expense.last
  respond_to do |format|
      format.js render 'last_record.js.erb'
  end
end

模板看起来像:

_last_record.js.erb
$('#expense_table').append( <%= j(content) %>)
# or with a partial
$('#expense_table').append( <%= j(render partial: 'expense'), locals: @last_expense %>)

PS我不确定“并指出要使用的字段”是什么意思。我有点赶时间,所以不要相信语法(尤其是 javascript ;))

希望这可以帮助!如果您需要更多帮助,明天将再次检查。

于 2013-01-25T21:29:27.263 回答