所以我刚刚制作了一个全新的Rails应用程序上的红宝石,我添加了一个带有自举程序的按钮。picture。我也有一个简单的脚本,可以打印出“ hello”。
simple.rb,位于app / scripts / simple.rb中
puts "hello"
现在有人可以解释一下,并给我一个例子,说明我如何将脚本连接到我拥有的按钮。因此,当我单击网站上的按钮时,它将执行脚本所指示的操作。我一直在搜索一整天,发现可能需要为其创建一个新的控制器/视图/路线吗?或“需要'文件'”。如果我错了,请指正我,谢谢!
您需要遵循四个步骤才能到达您的“脚本”。首先,我建议您阅读有关Rails services pattern的更好的练习。在我看来,它符合您的必需品。
逐步:
使用简单的shell命令,您可以创建一个控制器。访问项目文件夹并输入类似[see shell commands for better understanding):
rails g controller hello
所以现在您将在控制器的文件夹(app/controllers/hello_controller.rb
)中有一个名为'HelloController'的新控制器。您可以签出并注意到它没有方法。首先创建一个方法(贝劳,我已经完成了一个叫做index
的方法),以后再运行您的服务(它将包含您的脚本)。所以你有一个像这样的控制器:
class HelloController < ApplicationController
def index
# Your service goes here
end
end
访问您的config/routes.rb
文件并在其中添加以下行:
resources :hello, only: %i[index]
如果您想了解有关Rails路由DSL的更多信息,可以check it out here。
为了创建指定的服务以运行所需的脚本,我建议您使用Amin Shah给出的follow the instructions。没有理由重复他的话。
现在,您只需创建一个链接即可执行对所创建路线的GET请求。您可以使用Rails link_to helper。类似于:
<%= link_to "Button", hello_index_path, class: "btn btn-primary" %>