gem install sinatra haml mongoid bson_ext carrierwave carrierwave-mongoid
require 'sinatra' get '/' do 'Hello from Sinatra' end
ruby index.rb
require 'sinatra' require 'haml' require 'bson' require 'mongoid' # configure do Mongoid.configure do |config| name = "app" config.master = Mongo::Connection.new.db(name) config.persist_in_safe_mode = false end end # Image( SQL ) :title( ) class Image include Mongoid::Document field :title, type: String end # get '/' do @images = Image.all haml :'index' end # post '/' do @image = Image.new(:title => params['title']) @image.save redirect "/" end # get '/image/:id' do @image = Image.find(params[:id]) haml :'show' end
require 'sinatra' require 'haml' require 'bson' require 'mongoid' # configure do Mongoid.configure do |config| name = "app" config.master = Mongo::Connection.new.db(name) config.persist_in_safe_mode = false end end # Image( SQL ) :title( ) class Image include Mongoid::Document field :title, type: String end # get '/' do @images = Image.all haml :'index' end # post '/' do @image = Image.new(:title => params['title']) @image.save redirect "/" end # get '/image/:id' do @image = Image.find(params[:id]) haml :'show' end
#index.haml %h2 Photogallery %ul.photogallery -for image in @images %li %a{:href => "/image/#{image.id}"}=image.title %h2 %form{:name => "new_image", :id =>"new_image", :method => "POST", :enctype => "multipart/form-data"} %p %label %br %input{:type=>"text", :name => "title"} %p %input{:type=>"submit", :value => ""} #show.haml %h1= @image.title
#index.haml %h2 Photogallery %ul.photogallery -for image in @images %li %a{:href => "/image/#{image.id}"}=image.title %h2 %form{:name => "new_image", :id =>"new_image", :method => "POST", :enctype => "multipart/form-data"} %p %label %br %input{:type=>"text", :name => "title"} %p %input{:type=>"submit", :value => ""} #show.haml %h1= @image.title
ruby index.rb
#index.rb require 'sinatra' require 'haml' require 'bson' require 'mongoid' require 'carrierwave' require 'carrierwave/mongoid' # configure do Mongoid.configure do |config| name = "app" config.master = Mongo::Connection.new.db(name) config.persist_in_safe_mode = false end end # carrierwave class ImageUploader < CarrierWave::Uploader::Base storage :file end # Image( SQL ) :title( ) class Image include Mongoid::Document mount_uploader :image, ImageUploader, type: String field :title, type: String end # get '/' do @images = Image.all haml :'index' end # post '/' do @image = Image.new(:title => params['title']) @image.image = params[:image] # @image.save redirect "/" end # get '/image/:id' do @image = Image.find(params[:id]) haml :'show' end
#index.rb require 'sinatra' require 'haml' require 'bson' require 'mongoid' require 'carrierwave' require 'carrierwave/mongoid' # configure do Mongoid.configure do |config| name = "app" config.master = Mongo::Connection.new.db(name) config.persist_in_safe_mode = false end end # carrierwave class ImageUploader < CarrierWave::Uploader::Base storage :file end # Image( SQL ) :title( ) class Image include Mongoid::Document mount_uploader :image, ImageUploader, type: String field :title, type: String end # get '/' do @images = Image.all haml :'index' end # post '/' do @image = Image.new(:title => params['title']) @image.image = params[:image] # @image.save redirect "/" end # get '/image/:id' do @image = Image.find(params[:id]) haml :'show' end
#index.haml %h2 Photogallery %ul.photogallery -for img in @images %li %a{:href => "/image/#{img.id}"}= img.title %a{:href => "/image/#{img.id}"} %img{:src => img.image} %h2 %form{:name => "new_image", :id =>"new_image", :method => "POST", :enctype => "multipart/form-data"} %p %label %br %input{:type=>"text", :name => "title"} %p %label %br %input{:type=>"file", :name => "image"} %p %input{:type=>"submit", :value => ""}
#index.haml %h2 Photogallery %ul.photogallery -for img in @images %li %a{:href => "/image/#{img.id}"}= img.title %a{:href => "/image/#{img.id}"} %img{:src => img.image} %h2 %form{:name => "new_image", :id =>"new_image", :method => "POST", :enctype => "multipart/form-data"} %p %label %br %input{:type=>"text", :name => "title"} %p %label %br %input{:type=>"file", :name => "image"} %p %input{:type=>"submit", :value => ""}
#show.haml %h1= @image.title %img{:src => @image.image}
#show.haml %h1= @image.title %img{:src => @image.image}
Source: https://habr.com/ru/post/139423/
All Articles