シンプルなSinatraアプリがあり、私はロープを勉強しようとしています。私は単純なフォームを持っていますが、データは投稿されていません。 DataMapperを使用してデータベースに接続していますが、データがポストされていません(DBにはエントリが表示されますが、すべて空白です)。そうしないとフォームデータがDataMapper DBに投稿されていません
require 'sinatra'
require 'rubygems'
require 'datamapper'
require 'dm-core'
DataMapper::setup(:default, "sqlite3://#{Dir.pwd}/entries.db")
class Entry
include DataMapper::Resource
property :id, Serial
property :first_name, String
property :last_name, String
property :email, String
property :created_at, DateTime
end
# create, upgrade, or migrate tables automatically
DataMapper.auto_upgrade!
# Set UTF-8 for outgoing
before do
headers "Content-Type" => "text/html; charset=utf-8"
end
get '/' do
@title = "Enter to win a rad Timbuk2 bag!"
erb :welcome
end
get '/entry' do
end
get '/list' do
@title = "List of Entries"
@entries = Entry.all(:order => [:created_at.desc])
erb :list
end
post '/create' do
@entry = Entry.new(:first_name => params[:first_name], :last_name => params[:last_name], :email => params[:email])
if @entry.save
redirect("/thanks")
else
redirect('/')
end
end
get '/thanks' do
erb :thanks
end
ありがとう、そんなに!それがすべてだった。私は(明らかに)私がそこで何をしているのか分からなかった。 =] – YuKagi