我有一个 HAML 模板,如下所示(也使用 Sinatra,不确定这是否重要):
- @email = params[:email]
EMAIL: x#{@email}#{params[:email]}#{@email.to_s.empty?}x
-if #{@email.to_s.empty?}
%form{ :action => "/", :method => "post"}
%fieldset
%input{:type => "text", :name => "email", :class => "text"}
%input{:type => "submit", :value => "Notify me!", :class => "button"}
-else
Thank you for your interest!
我在那里有用于调试的最高输出。当我最初加载页面时,我看到“EMAIL:xtruex”和表单,表明参数为空......一切都按计划工作。
现在,当我在表格中填写“testing@gmail.com”并单击按钮时,它会重定向回“/”,我看到“EMAIL:xtesting@gmail.comtesting@gmail.comfalsex”告诉我我的条件逻辑应该管用。
但是我仍然看到表单,我的 else 语句没有被执行...... if 语句仍在被触发。
我猜这是一个简单的格式问题。有人可以帮忙吗?
以防万一,我的 Sinatra 应用程序文件很简单:
get '/' do
haml :index
end
post '/' do
User.create(:email => params["email"])
haml :index
end
谢谢