Свяжитесь с формой в рубине, sinatra, и haml

Я плохо знаком со всеми тремя, и я пытаюсь записать простую форму контакта для веб-сайта. Код, который я придумал, ниже, но я знаю, что существуют некоторые фундаментальные проблемы с ним (из-за моей неопытности с sinatra). Любая справка при получении этой работы ценилась бы, я не могу казаться фигуре/, находят документацию для этого вида вещи.

haml кодируют от страницы контакта:

%form{:name => "email", :id => "email", :action => "/contact", :method => "post", :enctype => "text/plain"}
  %fieldset
    %ol
      %li
        %label{:for => "message[name]"} Name:
        %input{:type => "text", :name => "message[name]", :class => "text"}
      %li
        %label{:for => "message[mail]"} Mail:
        %input{:type => "text", :name => "message[mail]", :class => "text"}
      %li
        %label{:for => "message[body]"} Message:
        %textarea{:name => "message[body]"}
    %input{:type => "submit", :value => "Send", :class => "button"}

И вот мой код в app.rb sinatra:

require 'rubygems'
require 'sinatra'
require 'haml'
require 'pony'

    get '/' do
        haml :index
    end 

    get '/contact' do
        haml :contact
    end

    post '/contact' do
        name = #{params[:name]}
        mail = #{params[:mail]}
        body = #{params[:body]}     
        Pony.mail(:to => '*emailaddress*', :from => mail, :subject => 'art inquiry from' + name, :body => body) 
    end
30
задан dcb 11 January 2011 в 18:57
поделиться

1 ответ

Я понял его для любого из вас, удивительно:

HAML:

%form{ :action => "", :method => "post"}
  %fieldset
    %ol
      %li
        %label{:for => "name"} Name:
        %input{:type => "text", :name => "name", :class => "text"}
      %li
        %label{:for => "mail"} email:
        %input{:type => "text", :name => "mail", :class => "text"}
      %li
        %label{:for => "body"} Message:
        %textarea{:name => "body"}
    %input{:type => "submit", :value => "Send", :class => "button"}

и App.rb:

post '/contact' do
        name = params[:name]
        mail = params[:mail]
        body = params[:body]

        Pony.mail(:to => '*emailaddress*', :from => "#{mail}", :subject => "art inquiry from #{name}", :body => "#{body}")

        haml :contact
    end
46
ответ дан 27 November 2019 в 23:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: