我想在Sinatra和DataMapper中创建一个博客应用程序,我的主应用程序文件就是这样的。现在Sinatra和DataMapper Association
%w[rubygems sinatra data_mapper].each{ |r| require r }
DataMapper.setup(:default , ENV['DATABASE_URL'] || "sqlite3://#{Dir.pwd}/development.db")
class Post
include DataMapper::Resource
property :id, Serial
property :title, String
property :author, String
property :body, Text
has n, :comments
end
class Comment
include DataMapper::Resource
property :id, Serial
property :post_id, Serial
property :name, String
property :body, Text
belongs_to :post
end
helpers do
def admin?
request.cookies[settings.username] == settings.token
end
def protected!
halt [401, 'Not Authorized'] unless admin?
end
end
post '/comment/create' do
comment = Comment.new(:name => params[:name], :body => params[:body])
if comment.save
status 201
redirect '/post/'+post.id.to_s
else
status 412
redirect '/'
end
end
get '/post/:id' do
@post = Post.get(params[:id])
@comments = Comment.new
erb :post
end
delete '/comment/:id' do
Post.get(params[:id]).Comment.(params[:id]).destroy
redirect '/post/'+post.id.to_s
end
DataMapper.auto_upgrade!
,我的问题是如何建立在展后文件的注释 实例变量,使,删除,并显示评论。
任何建议和解决方案将受到欢迎。
你能否给我们一点澄清一下你想要什么? –
基本上我想要一个基本的帖子来评论我的应用程序中的关系,就像博客一样。 – BimoZX
它看起来像你已经拥有了它。你在这里定义的Post和Comment之间有一对多的关系。你还在做什么? –