Я использую full_calendar для отображения событий на основе идентификатора пользователя.
У меня есть индекс home, который отображает _form.html.erb событий и создает события здесь.
И когда я перешел к событиям / индексу с календарем, я попытался показать только события на основе идентификатора пользователя.
Однако в настоящее время существует идентификатор пользователя (1 ~ 3), но отображаются только события для идентификатора пользователя (1). События, созданные остальным идентификатором пользователя, хранятся в БД, но не отображаются в календаре.
Я хочу отображать в календаре только события в соответствии с идентификатором пользователя.
Домашний контроллер
def index
@event = Event.new
@events = Event.order("RANDOM()").first(1)
end
index.html.erb (Домашний контроллер)
<%= render partial: 'events/form', locals: { event: @event } %>
_form.html.erb (контроллер событий)
<%= simple_form_for(@event) do |f| %>
<%= f.error_notification %>
<%= f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? %>
<div class="form-inputs">
<%= f.input :title %>
<%= f.input :description %>
<%= f.input :color %>
<%= f.input :start_time %>
<%= f.input :end_time %>
<%= f.hidden_field :user_id, :value => @event.user_id %>
<%= f.hidden_field :user_email, :value => @event.user_email %>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>
index.html.erb (Контроллер событий)
<div class="row">
<div class="col-lg-12">
<section class="panel">
<div class="panel-body">
<div id="calendar"></div>
</div>
</section>
</div>
</div>
<% @events.each do |x| %>
<% if(x.user_id == current_user.id) %>
<script type='text/javascript' src='jquery-1.8.1.min.js'></script>
<script>
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
events: '/events.json'
});
</script>
<% else %>
<script type='text/javascript' src='jquery-1.8.1.min.js'></script>
<script>
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
});
</script>
<% end %>
<% end %>