gpt4 book ai didi

ruby-on-rails-3 - 关于 Event_calendar。仅显示当前用户的事件而不是所有事件

转载 作者:行者123 更新时间:2023-12-04 06:35:33 33 4
gpt4 key购买 nike

几天前,我安装了 https://github.com/elevation/event_calendar 提供的 event_calendar 解决方案。并且一切正常。现在我意识到我将拥有多个用户并且就像他们现在一样,我的任何用户都能够看到所有 数据库中的现有事件。

我需要让每个用户只看到他参与的事件;所以我想再创建一个名为 XXXXXXXXX_create_events_users_join.rb 的迁移,在那里我只保留用户和事件的 ID。那么我应该如何在实际日历上只显示属于当前用户的事件。或者是吗创建迁移不是最好的方法?

最佳答案

您的解决方案可能有效,但它比需要的要复杂得多。 Rails 有一种很好的内部管理方式。现在你需要做的是:

1-> 创建迁移:add_user_id_to_events user_id:integer
2-> 设置关系:

在用户模型(user.rb)中:

class User < ActiveRecord::Base
has_many :events
....
end


在事件模型(event.rb)中:

class Event < ActiveRecord::Base
has_event_calendar
belongs_to user
....
end


3-> 然后在您的事件 View 中,您可以使用例如:

 ...
<% @user.events.each do |event| %>
<tr>
<td><%= event.name %></td>
....
</tr>
<% end %>
...


对于日历,您只需要更改:

@event_strips = Events.event_strips_for_month(@shown_month) 




@event_strips = current_user.events.event_strips_for_month(@shown_month) 


希望我有所帮助!

问候

关于ruby-on-rails-3 - 关于 Event_calendar。仅显示当前用户的事件而不是所有事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4925627/

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