Rails 4, как отобразить календарь вместе с полным календарем событий

#ruby #ruby-on-rails-4 #routing #fullcalendar

#ruby #ruby-on-rails-4 #маршруты #полный календарь

Вопрос:

В rails 4.0.2 я пытаюсь реализовать функцию событий календаря, но она ничего не отображает. Я использовал драгоценный камень fullcalendar, на который ссылаются https://github.com/vinsol/fullcalendar-rails-engine , но я получаю сообщение об ошибке, как показано ниже,

 Processing by Rails::WelcomeController#index as HTML
Completed 500 Internal Server Error in 2ms

ActionView::MissingTemplate (Missing template rails/welcome/index with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :raw, :ruby]}. Searched in:
* "/home/shru/.rvm/gems/ruby-1.9.3-p448/gems/railties-4.0.2/lib/rails/templates"
  

Код контроллера

 require_dependency 'fullcalendar_engine/application_controller'

module FullcalendarEngine
class EventsController < ApplicationController

layout FullcalendarEngine::Configuration['layout'] || 'application'

before_filter :load_event, only: [:edit, :update, :destroy, :move, :resize]
before_filter :determine_event_type, only: :create

def create
  if @event.save
    render nothing: true
  else
    render text: @event.errors.full_messages.to_sentence, status: 422
  end
end

def index
  @event = FullcalendarEngine::Event.new
  render nothing: true
end

def new
  @event = FullcalendarEngine::Event.new
  render js: new
end

def get_events
  @events = Event.where('starttime  >= :start_time and 
                        endtime     <= :end_time',
    start_time: Time.at(params['start'].to_i).to_formatted_s(:db),
    end_time:   Time.at(params['end'].to_i).to_formatted_s(:db))
  events = []
  @events.each do |event|
    events << { id: event.id,
      title: event.title,
      description: event.description || '',
      start: event.starttime.iso8601,
    end: event.endtime.iso8601,
    allDay: event.all_day,
    recurring: (event.event_series_id) ? true : false }
 end
 render json: events.to_json
end

def move
 if @event
  @event.starttime = make_time_from_minute_and_day_delta(@event.starttime)
  @event.endtime   = make_time_from_minute_and_day_delta(@event.endtime)
  @event.all_day   = params[:all_day]
  @event.save
 end
 render nothing: true
end

def resize
if @event
  @event.endtime = make_time_from_minute_and_day_delta(@event.endtime)
  @event.save
 end
 render nothing: true
end

def edit
 render json: { form: render_to_string(partial: 'edit_form') }
end

def update
case params[:event][:commit_button]
when 'Update All Occurrence'
  @events = @event.event_series.events
  @event.update_events(@events, event_params)
when 'Update All Following Occurrence'
  @events = @event.event_series.events.where('starttime > :start_time',
    start_time: @event.starttime.to_formatted_s(:db)).to_a
  @event.update_events(@events, event_params)
else
  @event.attributes = event_params
  @event.save
 end
 render nothing: true
end

def destroy
case params[:delete_all]
 when 'true'
  @event.event_series.destroy
 when 'future'
  @events = @event.event_series.events.where('starttime > :start_time',
    start_time: @event.starttime.to_formatted_s(:db)).to_a
  @event.event_series.events.delete(@events)
 else
  @event.destroy
 end
 render nothing: true
end

private

def load_event
 @event = Event.where(:id => params[:id]).first
 unless @event
   render json: { message: "Event Not Found.."}, status: 404 and return
 end
end

 def event_params
params.require(:event).permit('title', 'description', 'starttime', 'endtime', 'all_day', 'period', 'frequency', 'commit_button')
end

def determine_event_type
 if params[:event][:period] == "Does not repeat"
  @event = Event.new(event_params)
 else
  @event = EventSeries.new(event_params)
 end
end

def make_time_from_minute_and_day_delta(event_time)
 params[:minute_delta].to_i.minutes.from_now((params[:day_delta].to_i).days.from_now(event_time))
  end
 end
end
  

Комментарии:

1. Можете ли вы опубликовать свой код контроллера?

2. У вас есть index.html.erb файл app/views/welcome ?

3. Здесь я не использую /views/welcome, непосредственно я пытаюсь отобразить календарь. Я добавил только одну папку / fullcalendar_engine/ events в представлениях

4. ОК. Можете ли вы WelcomeController также?

5. После этой проблемы я добавил контроллер и представления, но все же я сталкиваюсь с той же проблемой, что и мой welcome_controller.rb, class WelcomeController < ApplicationController def index respond_to do |format| format.html end end end