gpt4 book ai didi

javascript - jQuery 回调将 Rails 用户值设置为 true

转载 作者:行者123 更新时间:2023-12-03 08:44:52 25 4
gpt4 key购买 nike

如果他们通过插件“jQuery Joyride”完成了我的 jQuery 之旅,我希望将我的用户模型上的 bool 值设置为 true。

不太确定我应该如何执行此操作,但这听起来是为已经看过它的用户禁用游览的最佳方法。

$('#contentID').joyride({
'tipLocation': 'bottom', // 'top' or 'bottom' in relation to parent
'nubPosition': 'auto', // override on a per tooltip bases
'scrollSpeed': 300, // Page scrolling speed in ms
'timer': 2000, // 0 = off, all other numbers = time(ms)
'startTimerOnClick': true, // true/false to start timer on first click
'nextButton': true, // true/false for next button visibility
'tipAnimation': 'pop', // 'pop' or 'fade' in each tip
'pauseAfter': [], // array of indexes where to pause the tour after
'tipAnimationFadeSpeed': 300, // if 'fade'- speed in ms of transition
'cookieMonster': true, // true/false for whether cookies are used
'cookieName': 'JoyRide', // choose your own cookie name
'cookieDomain': false, // set to false or yoursite.com
'tipContainer': body, // Where the tip be attached if not inline
'postRideCallback': $noop, // a method to call once the tour closes
'postStepCallback': $noop // A method to call after each step
});

任何帮助都会很棒 - 提前致谢。

最佳答案

向您的用户 Controller 添加一个操作来更新标志,您可以将 jQuery Joyride 的旅程标记为完成。

在你的routes.rb中添加一个成员到用户资源

resources :users do
member do
post :tour_complete
end
end

使用 Joyride 中的 post_ride_callback ,您可以调用该操作

post_ride_callback: function() {
$.post('<%= tour_complete_user_path(current_user) %>');
}

需要考虑的是创建一个表来跟踪用户执行的操作,这样您就可以进行多个游览,并通过在 POST 请求中传递 ID 来将它们标记为完成。

2015 年 10 月 11 日编辑

尝试将您的游览完成操作设置为以下内容。

class UsersController < ApplicationController
def tour_complete
current_user.update_column(:completed_tour, true)
respond_to do |f|
f.html { redirect_to :back }
f.json { render json: { success: true } }
end
end
end

关于javascript - jQuery 回调将 Rails 用户值设置为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32936033/

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