Ruby 关于 rails 如何将脚本与按钮连接

Ruby on rails how to connect a script with a button

所以我在 rails 应用程序上有一个全新的 ruby,我添加了一个带有 bootstrap 的按钮。 picture。 我还有一个打印出 "hello".

的简单脚本

simple.rb,即在app/scripts/simple.rb

puts "hello"

现在有人可以解释一下并举例说明如何将脚本连接到我拥有的按钮。因此,当我单击网站上的按钮时,它会按照脚本的要求执行操作。 我已经搜索了一整天,发现也许我需要为它创建一个新的 controller/view/route?或 "require 'file' "。不对请指正,谢谢!

您需要完成四个步骤才能达到 'script'。首先,我建议您阅读有关 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.


创建服务

要创建指定的服务以便运行你想要的脚本,我推荐你follow the instructions Amin Shah 给出的。没有理由重复他的话。

更新视图

现在您只需创建一个 link 来对您创建的路由执行 GET 请求。您可以使用 Rails link_to helper。类似于:

<%= link_to "Button", hello_index_path, class: "btn btn-primary" %>