Initial implementation of the LecturesController

This commit is contained in:
Petko Bordjukov 2014-08-10 23:50:44 +03:00
parent fa63c14e47
commit df7317c746
11 changed files with 115 additions and 3 deletions

View File

@ -0,0 +1,18 @@
class LecturesController < ApplicationController
def new
@lecture = Lecture.new
end
def create
head :created
end
def edit
end
def update
end
def show
end
end

View File

@ -0,0 +1,14 @@
== simple_form_for @lecture do |form|
p
= form.error_notification
.form-inputs
= form.input :title, autofocus: true
= form.input :subtitle
= form.association :track
= form.input :length
= form.input :language, collection: I18n.available_locales, include_blank: false, default: I18n.locale
= form.input :abstract
= form.input :description
= form.input :notes
= form.button :submit

View File

@ -0,0 +1,2 @@
h1 Lectures#create
p Find me in app/views/lectures/create.html.slim

View File

@ -0,0 +1,2 @@
h1 Lectures#edit
p Find me in app/views/lectures/edit.html.slim

View File

@ -0,0 +1,2 @@
h1 Предложи нова лекция
= render 'form'

View File

@ -0,0 +1,2 @@
h1 Lectures#show
p Find me in app/views/lectures/show.html.slim

View File

@ -0,0 +1,2 @@
h1 Lectures#update
p Find me in app/views/lectures/update.html.slim

View File

@ -20,7 +20,22 @@
# available at http://guides.rubyonrails.org/i18n.html. # available at http://guides.rubyonrails.org/i18n.html.
bg: bg:
hello: "Здравей, свят" activerecord:
models:
lecture:
one: Лекция
other: Лекции
track: Поток от лекции
attributes:
lecture:
title: Заглавие
subtitle: Подзаглавие
length: Продължителност
language: Език
abstract: Резюме
description: Описание
notes: Забележки
track: Поток от лекции
errors: errors:
messages: messages:
improbable_phone: 'не е валиден телефонен номер' improbable_phone: 'не е валиден телефонен номер'

View File

@ -7,3 +7,13 @@ bg:
mark: '*' mark: '*'
error_notification: error_notification:
default_message: "Моля разгледайте проблемите по-долу:" default_message: "Моля разгледайте проблемите по-долу:"
hints:
lecture:
title: Заглавието на лекцията Ви
subtitle: Подзаглавието на лекцията Ви (ако има такова)
track: Потокът от лекции, в който искате да попадне лекцията Ви
length: Продължителността на лекция може да бъде от 40 до 45 минути
language: Език, на който ще бъде водена лекцията
abstract: Резюме на лекцията, което да може да бъде прочетено от посетителите
description: Подробно описание на лекцията, което да бъде използвано от организаторския екип
notes: Забележки, които искате да споделите с организаторския екип

View File

@ -1,5 +1,5 @@
Rails.application.routes.draw do Rails.application.routes.draw do
get 'home/index' resources :lectures, only: [:new, :create, :edit, :update, :show]
devise_for :users devise_for :users

View File

@ -0,0 +1,45 @@
require 'rails_helper'
RSpec.describe LecturesController, :type => :controller do
describe "GET new" do
it "returns http success" do
get :new
expect(response).to be_success
end
end
describe "POST create" do
it "returns http success" do
new_track = create :track
new_user = create :user
post :create, lecture: build(:lecture, track: new_track, user: new_user).attributes
expect(response.status).to eq 201
end
end
describe "GET edit" do
it "returns http success" do
event = create :lecture
get :edit, id: event.id
expect(response).to be_success
end
end
describe "PUT update" do
it "returns http success" do
event = create :lecture
put :update, id: event.id, lecture: event.attributes
expect(response).to be_success
end
end
describe "GET show" do
it "returns http success" do
event = create :lecture
get :show, id: event.id
expect(response).to be_success
end
end
end