Sinatra,MySQL和ActiveRecord

23t*_*tux 3 mysql activerecord sinatra

如何设置一个简单的sinatra应用程序来使用MySQL和ActiveRecord?我找到了一些解决方案,但它们都没有工作(可能它们已经过时)了:

http://ericfarkas.com/posts/sinatra-activerecord-and-mysql/

http://labs.thredup.com/setting-up-sinatra-with-mysql-and-activerecor

那么使用Sinatra以及MySQL和ActiveRecord的最佳实践方法是什么?该https://github.com/janko-m/sinatra-activerecord宝石仅供sqlite3的,据我所看到的.

我不确定我是需要模型还是只需要简单的SQL查询.但让它一起工作对我有很大的帮助.

dra*_*eus 15

这是一个简单的Sinatra-MySQL-ActiveRecord应用程序.它有2个文件:

Gemfileapp.rb

的Gemfile:

source :rubygems
gem 'sinatra', '1.3.1'
gem 'activerecord', '3.2.13'
Run Code Online (Sandbox Code Playgroud)

app.rb

require 'rubygems'
require 'sinatra'
require 'active_record'

ActiveRecord::Base.establish_connection(
  :adapter  => "mysql2",
  :host     => "host",
  :username => "user",
  :password => "password",
  :database => "db"
)

class User < ActiveRecord::Base
end

ActiveRecord::Migration.create_table :users do |t|
  t.string :name
end

class App < Sinatra::Application
end

get '/' do
  p User.all
end
Run Code Online (Sandbox Code Playgroud)
  1. 创建这两个文件
  2. bundle install(gem install bundler如果你还没有)
  3. ruby app.rb

您应该阅读如何使用ActiveRecord插入数据.在这种情况下,您可以从MySQL手动输入一些数据并查看输出.

  • 您可能还需要在Gemfile中添加"gem'mysql2'". (2认同)