Я очень новичок в мире рельсов, и я пытаюсь создать приложение для отслеживания посылок. Я хочу иметь возможность передать номер отслеживания пакета методу rails, который я создал, чтобы очистить сайт перевозчика.
Я получаю неправильное количество аргументов и не понимаю, почему. Любой вклад приветствуется!
rout.rb
Rails.application.routes.draw do
resources :packages do
match '/scrape', to: 'packages#scrape', via: :post, on: :collection
end
root 'home#index'
get 'dashboard' => 'packages#index'
get '/logout' => 'auth0#logout'
get 'auth/auth0', as: 'authentication'
get 'auth/auth0/callback' => 'auth0#callback'
get 'auth/failure' => 'auth0#failure'
# For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
end
метод очистки
def scrape(tracking_num)
require 'watir'
url = "https://www.ups.com/track?loc=en_US&tracknum=#{tracking_num}&requester=WT/trackdetails"
b = Watir::Browser.new :chrome, headless: true
b.goto(url)
text = b.p(:class, 'ups-txt_size_double_lg').when_present.text
flash.now[:notice] = text
end
button_to
<%= button_to 'Track', scrape_packages_path(tracking_num: package.tracking), class: "btn btn-sm btn-outline-dark" %>