- require 'rubygems'
- require 'sinatra'
- require 'sinatra/reloader'
- require 'sinatra/activerecord'
- set :database, "sqlite3:myblog.db"
- before do
- @all_posts = Post.order "created_at DESC"
- end
- class Post < ActiveRecord::Base
- has_many :comments # , :foreign_key => "postid"
- validates :username, presence: true
- validates :content, presence: true
- end
- class Comment < ActiveRecord::Base
- belongs_to :post # , :foreign_key => "postid"
- validates :username, presence: true
- validates :content, presence: true
- end
- get '/' do
- erb :welcome
- end
- get '/posts' do
- erb :posts
- end
- get '/new_post' do
- erb :new_post
- end
- post '/new_post' do
- @p = Post.new params[:type_post]
- if @p.save
- redirect to '/posts'
- else
- @error = @p.errors.full_messages.first
- erb :new_post
- end
- end
- get '/details/:id' do
- @details_id = params[:id]
- erb :details
- end
- post '/details/:id' do
- @details_id = params[:id]
- @c = Comment.new params[:type_comment] #, :post_id => "#{@details_id}"
- if @c.save
- redirect to ('/details/' + @details_id)
- else
- @error = @c.errors.full_messages.first
- erb :details
- end
- end