【发布时间】:2017-08-14 04:45:32
【问题描述】:
我想使用基于 Adam Shaw 的 jQuery FullCalendar 插件的 gem 'fullcalendar-rails' 来组织我的应用程序的事件。
我阅读了 Fernando Perales 的有用且写得很好的 tutorial,它链接在 readme.md 文件中。
由于我想将fullcalendar-rails 用于我的Rails 5 应用程序,而且我是json 的新手,所以我想问一些问题。
我的Event 模型有一个place 属性,就是举办活动的地方。
我的目标是为不同的地方设置不同的日历,因为每个地方都有自己的活动。
我的想法是在事件索引页面中插入以下表单:
<%= form_tag(events_path, method: :get, id: "search-event-place") do %>
<%= text_field_tag :search, params[:search], placeholder: "Search a place" %>
<%= submit_tag "Search", class: "btn btn-primary" %>
<% end %>
<% if @events.present? %>
<div id="calendar"></div>
<% end %>
通过这种方式,用户可以查找一个地点并获取在该地点举行的所有活动,并以完整的日历进行组织。因此,例如,如果用户搜索伦敦的活动,他将获得包含伦敦活动的日历...
事件控制器中的索引操作如下:
def index
if params[:search]
@events = Event.search(params[:search])
else
@events = nil
end
end
如果在Event 模型中定义了search 方法后,我将index.json.builder 文件使用的实例变量@events 定义为@events = Event.search(params[:search]),它会起作用吗?
搜索方法将在 Event 模型中定义如下:
def self.search(search)
where("place ILIKE ?", "#{search}")
end
RESTful 事件资源的索引页面是否是定义@events 的正确位置?
如果我去:localhost:3000/events.json 或去:localhost:3000/events,我会看到什么活动?
我主要关心的一个问题是:由于 RESTful 事件资源的 show 操作对应于带有 id=1 的事件的 url /events/1,我想知道我是否会为每个事件正确路由index.json.builder 文件是 html 格式,它生成一个 url,例如 /events/1.html。事实上,作为常见的 Rails 实践,我会在 app/views/events/show.html.erb 中插入通用事件的部分内容
最后:我的用户使用 jQuery 日期选择器选择事件的日期,因此属性 event_date 将保存为格式为 "yy-mm-dd" 的字符串:我如何设置 json start 和 end? start 和 end 属性是必需的,还是我可以只选择活动的日期?
【问题讨论】:
标签: ruby-on-rails json fullcalendar