掲示板の作成です。DBにSQlite3、Deleteにjqueryを使っています。
C:/rails/sinatra/main.rb
require 'sinatra' require 'sinatra/reloader' require 'active_record' ActiveRecord::Base.establish_connection( "adapter" => "sqlite3", "database" => "./bbs.db" ) helpers do include Rack::Utils alias_method :h, :escape_html end class Comment < ActiveRecord::Base end get '/' do @comments = Comment.order("id desc").all erb :index end post '/new' do Comment.create({:body => params[:body]}) redirect '/' end post '/delete' do Comment.find(params[:id]).destroy end
C:/rails/sinatra/views/index.erb
<!DOCTYPE> <html lang="ja"> <head> <meta charset="utf-8"> <title>BBS</title> </head> <body> <h1>BBS</h1> <ul> <% @comments.each do |comment| %> <li data-id="<%= comment.id %>"> <%= h comment.body %> <span class="deleteCmd" style="cursor:pointer;color:blue">[x]</span> </li> <% end %> </ul> <h2>Add New</h2> <form method="post" action="/new"> <input type="text" name="body"><input type="submit" value="post!"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $('.deleteCmd').click(function(){ var el = $(this).parent(); if (confirm('are you sure to delete?')){ $.post('/delete', { id: el.data('id') }, function(){ el.fadeOut(800); }); } }) </script> </body> </html>
C:/rails/sinatra/import.sql
create table comments ( id integer primary key, body text );
ブラウザで確認してみてください。