gpt4 book ai didi

ajax-datatables-rails 如何在ajax响应中添加按钮

转载 作者:行者123 更新时间:2023-12-02 08:39:37 25 4
gpt4 key购买 nike

我的问题是,我不知道如何使用 gem 进行服务器端处理来添加保持在某种状态的不同按钮 ajax-datatables-rails 。例如,在尝试进行服务器端处理之前,我认为是这样的。

<% if current_user.sales_manager? || current_user.admin? %>
<td>
<%= link_to t('.destroy', :default => t("helpers.links.destroy")),
bill_sale_path(bill_sale),
:method => :delete %>
</td>
<% end %>

按照 gem 主页中的教程,在 bill_sale_datatable.rb 中我有这个。

def data

records.map do |record|
[
link_to('Show', bill_sale_path(record), class: 'btn-xs btn-link'),
record.customer.name,
record.seller.name,
l(record.date_sold, format: :short),
record.payment_type.name,
record.payed,
number_to_currency(record.total),
CONDITION AND BUTTON HERE
]
end
end

那么,如何使用服务器端处理来提供属于 if 条件的不同按钮?

最佳答案

虽然我没有使用 gem,但我已经在 Rails 中使用了数据表,这就是我所做的:

将按钮作为变量存储在数组之前,然后只需调用数组中的变量即可。

records.map do |record|
record_button = ''
record_button = button_to('A', button1_path) if condition1
record_button = button_to('B', button2_path) if condition2
record_button = button_to('C', button3_path) if condition3
record_button = button_to('D', button4_path) if condition4
[
link_to('Show', bill_sale_path(record), class: 'btn-xs btn-link'),
record.customer.name,
record.seller.name,
l(record.date_sold, format: :short),
record.payment_type.name,
record.payed,
number_to_currency(record.total),
record_button
]
end

如果适合您的需要,您还可以使用 case 语句。

确保添加

def_delegator :@view, :button_to

到文件顶部,如下所示:

https://github.com/jbox-web/ajax-datatables-rails#using-view-helpers

关于ajax-datatables-rails 如何在ajax响应中添加按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31419324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com