我用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