Haml Форма не отправляется в приложении Синатра - PullRequest
1 голос
/ 18 октября 2011

У меня проблемы с отправкой формы сейчас, когда я перешел из erb в haml в простом приложении sinatra.

new.haml

%form{ :action => "/new", :method => "post"}
  %fieldset
    %ol
      %li
        %label{:for => "username"} Name:
        %input{:type => "text", :username => "name", :class => "text"}
    %input{:type => "submit", :value => "Send", :class => "button"}

В моем app.rb

get '/new' do
    haml :new
end

post '/new' do
  radcheck = Radcheck.new(:username => params[:username])
  if radcheck.save
    redirect '/'
  else
      "Hello World" 
  end
end

каждый раз, когда появляется сообщение Hello World. Мои журналы ничего интересного не показывают.

Есть идеи? Работал просто отлично с erb ??

1 Ответ

2 голосов
/ 18 октября 2011

Это то, что я тестировал

get '/new' do
    haml :new
end

post '/new' do
    #radcheck = Radcheck.new(:username => params[:username])
    username = params[:username]
    if username
        username
    else
        "Hello World" 
    end
end

и new.haml

%form{ :action => "/new", :method => "post"}
  %fieldset
    %ol
      %li
        %label{:for => "username"} Name:
        %input{:type => "text", :name => "username", :class => "text"}
    %input{:type => "submit", :value => "Send", :class => "button"}

И все работает как положено. По какой-то причине radcheck.save возвращает false, но это не имеет никакого отношения к хамлу. (Но обратите внимание, что я исправил ввод с помощью :name => "username")

...