如果他们已经通过插件“jQuery Joyride”完成了我的jQuery之旅,我希望将我的用户模型上的布尔值设置为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
});
任何帮助都会很棒 - 提前谢谢。
答案 0 :(得分:1)
向用户控制器添加操作以更新标记将允许您从jQuery joyride标记游览完成。
在您的routes.rb中添加成员到用户资源
resources :users do
member do
post :tour_complete
end
end
使用来自兜风的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