jquery - Rails/Jquery:集成 Bootstrap Toggle 时出现问题,使用远程:true
问题描述
我是一名初级开发人员,我正在尝试将 Bootstrap Toggle ( http://www.bootstraptoggle.com/ ) 集成到我的项目中。该复选框显示良好,它似乎在 DB 中工作,但切换未正确切换。我只是试图切换一个布尔值 (is_sent) 并使用 ajax 和远程更新我的购买状态:真正的技巧。这是代码:
index.html.erb
<% @purchases.order("created_at DESC").each do |purchase| %>
<h2>Command n°<%= purchase.id %></h2>
<% @orders.where(id: purchase.order_id).each do |order| %>
<h3> <strong>Complete Information:</strong> </h3>
<h4> Command sent ? ? </h4>
<%= form_for purchase do |f| %>
<%= f.check_box :is_sent, 'data-toggle' => 'toggle', 'data-onstyle'
=> "danger", id: 'toggle1', 'data-style' => "slow",
data: {
remote: true,
url: url_for(action: :update, id: purchase.id),
method: "PATCH"
} %>
<% end %>
<script src="https://gitcdn.github.io/bootstrap-
toggle/2.2.2/js/bootstrap-toggle.min.js"></script>
<link href="https://gitcdn.github.io/bootstrap-
toggle/2.2.2/css/bootstrap-toggle.min.css" rel="stylesheet"/>
<script>
$(function() {
$('toggle1').bootstrapToggle();
})
</script>
admin_purchases_controller:
def update
@purchase = Purchase.find(params[:id])
status = !@purchase.is_sent
@purchase.is_sent = status
@purchase.save
end
路线:
namespace :admin do
resources :purchases, only: [:index, :update]
end
现在如您所见,当我单击切换开关时,该值已很好地保存在数据库中:
Started PATCH "/admin/purchases/2" for 127.0.0.1 at 2018-12-08
16:01:27 +0100
Processing by Admin::PurchasesController#update as JS
Parameters: {"id"=>"2"}
User Load (0.7ms) SELECT "users".* FROM "users" WHERE "users"."id"
= $1 ORDER BY "users"."id" ASC LIMIT $2 [["id", 1], ["LIMIT", 1]]
Purchase Load (2.4ms) SELECT "purchases".* FROM "purchases" WHERE
"purchases"."id" = $1 LIMIT $2 [["id", 2], ["LIMIT", 1]]
(0.7ms) BEGIN
User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."id" =
$1 LIMIT $2 [["id", 1], ["LIMIT", 1]]
SQL (1.8ms) UPDATE "purchases" SET "is_sent" = $1, "updated_at" = $2
WHERE "purchases"."id" = $3 [["is_sent", "f"], ["updated_at", "2018-
12-08 15:01:27.879657"], ["id", 2]]
(0.5ms) COMMIT
Rendering admin/purchases/update.js.erb
Rendered admin/purchases/update.js.erb (1.0ms)
Completed 200 OK in 203ms (Views: 126.6ms | ActiveRecord: 6.4ms)
但我第一次点击按钮时,它没有切换。之后它的切换正确,但值不是很好的......
也许我必须设置一个动态ID,因为我正在迭代,但在那种情况下,我不知道该怎么做..
对不起我的英语不好,我希望有人能帮忙!提前致谢
解决方案
推荐阅读
- excel - 在 vba 中创建一个动态公式,其中包含一个变量
- javascript - 下一个和上一个按钮 javascript
- javascript - 如何访问另一个对象深处的对象
- php - PHP 中 json_encode() 返回的神秘错误代码
- python - ModuleNotFoundError:没有名为“a”的模块
- sql-server - 过滤过去 n 周
- onclicklistener - 用于空白屏幕 android studio 的 onclicklistener
- javascript - 深度自引用对象的属性
- c# - 我的构建大小随机翻倍 Unity3d Andriod
- bash - 在bash中重命名单个文件是在脚本崩溃后删除文件