Ruby по рельсам как подключить скрипт кнопкой - PullRequest
0 голосов
/ 19 февраля 2020

Итак, я только что сделал совершенно новое приложение ruby на рельсах, и я добавил кнопку с bootstrap. фотография . У меня также есть простой скрипт, который выводит «привет».

simple.rb, который находится в app / scripts / simple.rb

puts "hello"

Теперь кто-нибудь может объяснить, пожалуйста, и дать мне пример того, как я могу подключить скрипт к кнопке, которая у меня есть. Поэтому, когда я нажимаю на кнопку на веб-сайте, он выполняет то, что сказано в сценарии. Я искал полный день и обнаружил, что, возможно, мне нужно создать новый контроллер / просмотр / маршрут для него? или "требовать" файл ". Поправь меня, если я ошибаюсь, спасибо!

1 Ответ

1 голос
/ 19 февраля 2020

Вам нужно будет выполнить четыре шага, чтобы достичь своего «сценария». Прежде всего, я рекомендую вам прочитать о шаблоне Rails-сервисов для лучшей практики. На мой взгляд, это соответствует вашим потребностям.

Шаг за шагом:

Создайте контроллер для обработки запроса

С помощью простой команды оболочки вы можете создать контроллер. Откройте папку проекта и введите что-то вроде ( см. Команды оболочки для лучшего понимания ):

rails g controller hello

Итак, теперь у вас будет новый контроллер с именем 'HelloController' внутри папки контроллера (app/controllers/hello_controller.rb). Вы можете проверить это и заметить, что у него нет методов. Сначала создайте метод (ниже я сделал метод с именем index) для последующего запуска вашего сервиса (который будет содержать ваш скрипт). Таким образом, у вас есть контроллер, подобный следующему:

class HelloController < ApplicationController
  def index
    # Your service goes here
  end
end

Создайте правило маршрутизатора для направления запроса на созданный контроллер

Получите доступ к файлу config/routes.rb и добавьте в него следующую строку:

resources :hello, only: %i[index]

Если вы хотите больше узнать о DSL-маршрутизации Rails, вы можете проверить это здесь .


Создать службу

Чтобы создать указанный сервис для запуска желаемого сценария, я рекомендую вам следовать инструкциям , данным Амином Шахом. Нет причин повторять сказанное.

Обновление вида

Теперь вам просто нужно создать ссылку для выполнения запроса GET к вашему созданному маршруту. Вы можете использовать Rails link_to helper . Что-то вроде:

<%= link_to "Button", hello_index_path, class: "btn btn-primary" %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...