应用2使用
应用2项目所在地址https://github.com/first20hours/codex
我们启动应用2
~/samples/codex$ ruby application.rb
点击 访问测试 按钮,即可看到页面效果。
我们需要对application.rb文件中的代码解释一下。
应用中的代码显示,已加密,使用了rack-ssl-enforcer添加SSL加密,这个程序迫使网络浏览器使用一种安全的SSL连接来访问站点,我们将其注释掉,就可以运行看到效果了。
#require 'rack-ssl-enforcer' // 注释
打开数据库 database.db。
DataMapper.setup(:default, ENV['DATABASE_URL'] || "sqlite3://#{Dir.pwd}/database.db")
定义Page模型
class Page
include DataMapper::Resource
property :id, Serial
property :slug, String
...
end
DataMapper.finalize
#如果不存在,自动创建表 -hubwiz
DataMapper.auto_upgrade!
略过身份验证在hubwiz,在代码中我们将看到这段被注释掉。
# Authentication
use Rack::Auth::Basic, "Restricted Area" do |username, password|
[username, password] == [ENV['ADMIN_USER'], ENV['ADMIN_PASS']]
end
#强迫所有连接使用SSL,进行身份验证
use Rack::SslEnforcer
将页面名称转换成主题
def slugify(content)
content.downcase.gsub(/ /, '-').gsub(/[^a-z0-9_-]/, '').squeeze('-')
end
具体其他代码也是设置路由,操作具体的需求,在这里我们需要注意地点,我们还差一个/home/路由,添加到application.rb下
# add missing home - hubwiz
get '/home/' do
'<a href="/all/"><h1>Enter</h1></a>'
end