Haml表单未在Sinatra App中提交

时间:2011-10-17 22:55:58

标签: sinatra haml

我在提交表单时遇到问题,因为我已经在一个简单的sinatra应用程序中将erb转换为haml。

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 ??#/ p>工作得很好

1 个答案:

答案 0 :(得分:2)

这是我测试过的

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,但这与haml无关。 (但请注意我已使用:name => "username"

更正了输入