gpt4 book ai didi

ruby - 调用 View 文件时如何传递参数?

转载 作者:数据小太阳 更新时间:2023-10-29 06:29:36 25 4
gpt4 key购买 nike

我使用 Sinatra 和 Haml 编写了一个网络表单,将用于调用 Ruby 脚本。

一切似乎都很好,除了一件事:我需要从 Sinatra/Ruby 脚本向 Haml View 文件传递一个参数。

这是我的部分代码:

#!/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

如果脚本遇到错误,它将返回一个包含单词“Error”的字符串。如果发生这种情况,我将调用一个 Haml 文件,该文件将向用户显示一个错误页面。如果脚本没有遇到错误,它将返回成功页面。

我想在成功/失败页面中包含用户添加的新 VM 的名称。我的问题是我不知道如何在我的两个 Haml 文件中传递它。我搜索了解决方案,但没有找到任何东西。

最佳答案

您可以使用 :locals 键将参数哈希传递给 Haml 方法:

get '/' do
haml :index, :locals => {:some_object => some_object}
end

这样,您的 Haml 文件中的 Ruby 代码就可以访问 some_object 并呈现其中的任何内容,调用方法等。

关于ruby - 调用 View 文件时如何传递参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9504094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com