gpt4 book ai didi

ruby-on-rails - 使用ajax更新行状态

转载 作者:行者123 更新时间:2023-12-04 05:47:10 25 4
gpt4 key购买 nike

我目前正在尝试使用 Rails 编写我的第一个 ajax 界面。

该应用程序当前显示一个填充有列表项的表格。用户必须批准或拒绝每个列表项。目前,我在每行末尾都有一个编辑链接,其中显示了一个表单,我可以在其中批准列表项。

我正在考虑使用复选框而不是编辑链接。当用户单击复选框时,我想在不离开此页面的情况下更新数据库的状态、用户名和日期/时间。

  1. 我应该遵循哪些步骤?
  2. 我可以使用复选框吗?仅限按钮?
  3. 我应该使用什么 xxx_remote 助手?
  4. 如何使用 ajax 调用的结果更新复选框状态?

最佳答案

我认为复选框不是您要查找的内容的正确控件。您说您希望用户能够批准或拒绝项目,这意味着您有 3 种状态:未处理、批准和拒绝。复选框仅支持 2 种状态:关闭和打开

我将使用两个链接接受和拒绝,然后按如下方式执行操作。

您认为:

...
<tr id="item1">
<td>Accept or Reject</td>
<td>
link_to_remote 'accept', :action => :accept, :id => 1, :method => :post
link_to_remote 'reject', :action => :reject, :id => 1, :method => :post
</td>
</tr>
...

在您的 Controller 中

def accept
item = Item.find(params[:id])
item.accept
respond_to do |want|
want.js {
render :update do |page|
page << "$('item_#{item.id}').cells[0].innerHTML = 'Accepted'"
...include other updates you need to make to your row...
page.visual_effect :highlight, "item_#{item.id}"
end
}
end
end
... similar for reject method ...

关于ruby-on-rails - 使用ajax更新行状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/199936/

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