Rails 3 best_in_place_if 如何在操作完成之前显示确认警报框

Posted

技术标签:

【中文标题】Rails 3 best_in_place_if 如何在操作完成之前显示确认警报框【英文标题】:Rails 3 best_in_place_if how to show confirm alert box before the action gets completed 【发布时间】:2016-09-24 04:04:35 【问题描述】:

我正在使用 best_in_place_if 进行内联编辑。在这里,只需单击该值即可更改列值。假设列是状态,值是“是”和“否”。所以它就像一个切换效果。如果用户单击此列,则会调用服务器并触发查询以切换数据库中的值。

我想显示一个显示确认消息的警报框,就像我们对删除所做的那样。如果用户单击是,那么很好,否则不完成呼叫。

best_in_place_if(current_user.admin,trip,:is_active, :type => :checkbox, :classes => 'trip_disable')

【问题讨论】:

【参考方案1】:

为了保持它的 rails 风格,我会尝试利用 jquery-ujs 和我们 rails 开发人员非常喜欢的 data-confirm 属性。尝试将 best_in_place 调用包装在链接内的跨度内,并在其上调用 data-confirm 选项。如:

   <%= link_to(trip) do %>
     <span><%= best_in_place trip, :is_active, type: :checkbox, classes: 'trip_disable', data: confirm: "Are you sure?" %> </span> 
   <% end %>

您可能需要更改我通过手机执行此操作的跨度,因此格式可能会有所偏差。

【讨论】:

以上是关于Rails 3 best_in_place_if 如何在操作完成之前显示确认警报框的主要内容,如果未能解决你的问题,请参考以下文章

PhoneGap 和 rails 3:如何与 rails 3 应用程序交互

Rails:“bundle install”由于旧的 rails 版本(3.2)而失败

Rails 3.2.3 GeoLocation 使用 MaxMind

从 Rails 2 到 Rails 3 路由

在使用 Rails 3 时遇到一些问题,继续使用 Rails 4

如何在 Rails 6.0.3.3 中使用 jQuery?