我用Sinatra和Haml写了一个webform,用来调用Ruby脚本。如何在调用视图文件时传递参数?
除了一件事情之外,一切看起来都很好:我需要从Sinatra/Ruby脚本传递一个参数给Haml视图文件。
这里是我的代码的一部分:
#!/usr/bin/env ruby
require 'rubygems'
require 'sinatra'
require 'haml'
get '/' do
haml :index
end
post '/' do
name = params[:name]
vlan = params[:vlan]
tmp = nil
tmp = %x[./wco-hosts.rb -a -n #{name} -v #{vlan}]
if tmp.include?("Error")
haml :fail
else
haml :success
end
end
如果脚本遇到arror它会返回一个字符串,包括单词“错误”。如果发生这种情况,我打电话给一个Haml文件,它会向用户显示一个错误页面。如果脚本没有遇到任何错误,它将返回一个成功页面。
我想在成功/失败页面中包含用户添加的新VM的名称。我的问题是我不知道如何在我的Haml文件中传递它。我搜索了一个解决方案,但没有找到任何东西。
可以正常使用,非常感谢你多(投票!) – Cocotton 2012-02-29 18:10:43
这是否也适用于布局?如果我有'haml:index,:layout =>:common_layout,:locals => {:object => my_object}','common'的局部变量是否会在'common_layout'模板中定义? – Alexey 2012-12-01 12:36:33