【发布时间】:2018-08-24 21:56:49
【问题描述】:
我正在使用 full_calendar 根据用户 ID 显示事件。
我有一个 home 索引,它呈现 _form.html.erb 的事件,并在此处创建事件。
当我使用日历移动到事件/索引时,我尝试仅显示基于 user_id 的事件。
但是,当前有用户 ID (1 ~ 3),但仅显示用户 ID (1) 的事件。其余用户 ID 创建的事件存储在数据库中,但在日历中不可见。
我想在日历中仅根据用户 ID 显示事件。
家庭控制器
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 %>
【问题讨论】:
-
我不明白 if / else 部分应该在 events.each 循环中做什么。你能详细说明一下吗?您还多次加载 jqeury 库,这不是一个好主意。
标签: ruby-on-rails