gpt4 book ai didi

ruby-on-rails - 通过网络运行 Ruby 脚本

转载 作者:数据小太阳 更新时间:2023-10-29 08:00:02 24 4
gpt4 key购买 nike

我正在关注 Rails Tutorial by Michael Hart我已经在第 7 章了。但我现在想做一些不同的事情,教程没有教。我想在我的网页中运行一个脚本文件。我该怎么做?我在这里看到其他帖子说要使用 Sinatra,但由于我正在学习本教程,所以我认为使用它不是一个好主意,因为它会使所有内容都与本教程不同。

这是我想在我的网页上运行的简单脚本:

#Somando idades

def soma_vetor_excluindo(index,vet)
soma = 0
for i in 0..9
if(i!=index)
soma = soma + vet[i].to_i
end
end
return soma
end

def soma_vetor(vet)
soma = 0
for i in 0..9
soma = soma + vet[i].to_i
end
return soma
end

def maior_vetor(vet)
maior = 0
for i in 0..9
if(maior < vet[i])
maior = vet[i]
end
end
return maior
end

idades = (0..9).collect{rand(99)+1}

soma_idades = (0..9).collect{0} soma = 0

print "#{idades} \n"

for i in 0..9
soma_idades[i] = soma_vetor_excluindo(i,idades)
end

print "#{soma_idades} \n"

div = soma_vetor(soma_idades) / 9

resp = div - maior_vetor(soma_idades)

puts "#{resp}"

最佳答案

最简单的方法是使方法 soma_vetor_excluindosoma_vetormaior_vetor 等成为 Controller 方法,因此当您通过表单或 ajax 发送数据,操作将触发,计算值并返回结果。

知道了这一点,您就可以拥有一个 Controller ,比方说 MathController.rb,在它里面,soma_vetor_excluindo 方法:

class MathController < ApplicationController
def soma_vetor_excluindo
end
def soma_vetor
end
def maior_vetor
end
end

要访问它,您可能需要一个route,因此在您的routes.rb 中添加如下内容:

get 'math/soma_vetor_excluindo/:index/:vet', to 'math#soma_vetor_excluindo'
get 'math/soma_vetor/:vet', to 'math#soma_vetor'
get 'math/maior_vetor/:vet', to 'math#maior_vetor'

这意味着当您的浏览器点击 localhost/math/soma_vetor_excluindo/1/2 或其他 url 时,它会向调用 soma_vetor_excluindo 的 Controller 发送一个获取请求方法并输入参数 params[:index]params[:vet],因此理论上脚本会运行。

问题是,您只需很少的工作就可以调整您的 Controller 来完成类似的事情。

关于ruby-on-rails - 通过网络运行 Ruby 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21729367/

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