首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sequel Sinatra后数据库仿制品

Sequel Sinatra后数据库仿制品
EN

Stack Overflow用户
提问于 2015-06-07 19:36:40
回答 1查看 392关注 0票数 0

我正试图建立一个非常简单的表格,为我的婚礼登记与会者。这在某种程度上是一个草案,因为我不知道我将使用Sinatra还是Rails。我将设置预定的电子邮件,以通知客人和我自己的婚礼细节。

因此,无论如何,这里是代码,我无法获得任何东西,以持久化数据库使用插入语法。有些代码被省略了。这只是关于邮政的问题。

代码语言:javascript
复制
    require "sinatra"
    require "sequel"
    require "sqlite3"


    DB = Sequel.connect('sqlite://pauley_wedding.db')

    DB.create_table! :attendees do 
     primary_key :id 
     string :fname
     string :lname
     string :phone
     string :email
    end

    @attendees = DB[:attendees]

以下是路线/意见:

代码语言:javascript
复制
    get '/' do 
     erb :index, :layout => :layout
    end

    get '/about' do 
     erb :about, :layout => :layout
    end


    get '/rsvp' do 
      erb :rsvp, :layout => :layout
    end

    post '/rsvp' do
      @attendees.insert(:fname => params[:fname], :lname =>                                       params[:lname], :phone => 
    params[:phone], :email => params[:email]) 
redirect '/confirm_rsvp'
   end

    get '/confirm_rsvp' do 
        erb :confirmation, :layout => :layout
    end

    get '/admin' do 
        erb :admin, :layout => :layout
       @attendees
    end

    @@rsvp 
    <style>
    h1 {
        color: tan;
    }

    .lead {
        color: tan;
    }
    </style>
    <h1><p class="lead">Sign up!</p></h1>
    <form action="/rsvp" method="POST">
    <p class="lead">First Name:</p><br /><input type="text" name="fname"><br /><br />
    <p class="lead">Last Name:</p><br /><input type="text" name="lname"><br />   <br />
    <p class="lead">Phone Number:</p><br /><input type="text" name="phone"><br      /><br />
    <p class="lead">Email Address:</p><br /><input type="text" name="email">
    <hr />
    <button class="btn btn-primary" input type="submit">Sign Up!</button>

    </form>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-08 15:15:48

第一个代码块中的@attendees似乎与第二个代码块中的@attendees不同。在第一个代码块中,@attendees设置为看似顶级的代码.在第二个代码块中,@attendees在路由中使用,这将是您正在使用的Sinatra类的一个实例。您可以尝试使用ATTENDEES (常量)而不是实例变量。您还可以添加数据库记录器require 'logger'; DB.loggers << Logger.new($stdout),以查看Sequel将向数据库发送什么内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30697670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档