fullCalendar 用户事件
fullCalendar User events
我累了。我有基本的 fullCalendar for User 模型。我想添加 2 个按钮,用户可以在其中将日历分成两部分。一开始他只得到他的事件,几秒钟后他得到所有用户的所有事件。我应该怎么做?我是 rails 的新人 :)
这是我的js代码
$(document).ready ->
$("#calendar").fullCalendar(
events: '/events.json'
eventColor: '#378006'
eventBackgroundColor: 'red'
)
和我的 json 事件文件
json.array!(@events) do |event|
json.extract! event, :id, :title, :description, :user_id
json.start event.start_time
json.end event.end_time
json.url event_url(event, format: :html)
if (event.user_id == current_user.id)
json.color 'green'
end
end
为此你可以这样做:
1)在您的视图上添加两个按钮,分别命名为 "User Events" 和 "All Users Events".
2)现在在你的js中设置一个名为calEvents的全局变量。
3)现在使用按钮单击事件,这意味着当用户单击 "User Events" 按钮时将 calEvents 的值设置为等于 current_user 事件,并且如果用户单击 "All User events" 然后将 calEvents 的值更改为等于所有用户事件。
注意:确保您的活动格式应为 json。
要实现这一点,您可以编写如下代码:
calEvents = ''
$(document).on 'click', 'all_user_events', ->
calEvents = '/events.json'
return
$(document).on 'click', 'user_events', ->
calEvents = '/events/user_events.json'
return
$(document).ready ->
calEvents = '/events.json'
$("#calendar").fullCalendar(
events: calEvents
eventColor: '#378006'
eventBackgroundColor: 'red'
)
在您的events_controller中添加新操作
def user_events
@events = current_user.events
render json: @events
end
在您的 config/routs.rb 文件中
get 'events/user_events' => 'events#user_events'
编辑:
如果您想通过复选框执行此操作,您可以这样做:
$(document).on 'change', 'your_checkobx_id_to_select_user_events ', ->
if @checked
calEvents = 'events/user_events.json'
return
$(document).on 'change', 'your_checkobx_id_to_select_all_events', ->
if @checked
calEvents = 'events.json'
return
希望我已经正确理解了您的问题,这会对您有所帮助。
我累了。我有基本的 fullCalendar for User 模型。我想添加 2 个按钮,用户可以在其中将日历分成两部分。一开始他只得到他的事件,几秒钟后他得到所有用户的所有事件。我应该怎么做?我是 rails 的新人 :) 这是我的js代码
$(document).ready ->
$("#calendar").fullCalendar(
events: '/events.json'
eventColor: '#378006'
eventBackgroundColor: 'red'
)
和我的 json 事件文件
json.array!(@events) do |event|
json.extract! event, :id, :title, :description, :user_id
json.start event.start_time
json.end event.end_time
json.url event_url(event, format: :html)
if (event.user_id == current_user.id)
json.color 'green'
end
end
为此你可以这样做:
1)在您的视图上添加两个按钮,分别命名为 "User Events" 和 "All Users Events".
2)现在在你的js中设置一个名为calEvents的全局变量。
3)现在使用按钮单击事件,这意味着当用户单击 "User Events" 按钮时将 calEvents 的值设置为等于 current_user 事件,并且如果用户单击 "All User events" 然后将 calEvents 的值更改为等于所有用户事件。
注意:确保您的活动格式应为 json。
要实现这一点,您可以编写如下代码:
calEvents = ''
$(document).on 'click', 'all_user_events', ->
calEvents = '/events.json'
return
$(document).on 'click', 'user_events', ->
calEvents = '/events/user_events.json'
return
$(document).ready ->
calEvents = '/events.json'
$("#calendar").fullCalendar(
events: calEvents
eventColor: '#378006'
eventBackgroundColor: 'red'
)
在您的events_controller中添加新操作
def user_events
@events = current_user.events
render json: @events
end
在您的 config/routs.rb 文件中
get 'events/user_events' => 'events#user_events'
编辑:
如果您想通过复选框执行此操作,您可以这样做:
$(document).on 'change', 'your_checkobx_id_to_select_user_events ', ->
if @checked
calEvents = 'events/user_events.json'
return
$(document).on 'change', 'your_checkobx_id_to_select_all_events', ->
if @checked
calEvents = 'events.json'
return
希望我已经正确理解了您的问题,这会对您有所帮助。