Rails:如何将参数从 friendly_id url 传递给控制器​​?

Rails: How to pass params from a friendly_id url to a controller?

我有一个 URL :

Example.com/searchjobs/jobs/sales

所以,我只想将 'sales' 关键字传递给我的控制器中的 @query 变量,但它仍然为零。

我尝试了几个教程,但它们只展示了如何将 friendly_id 与模型一起使用。

感谢您的帮助。

searchjobs_controller.rb

class SearchjobsController < ApplicationController

def jobs
    
    require 'nokogiri'
    require 'open-uri'
    @query = params[:qw]
 
  

   
    @xmls = Nokogiri::XML(open(URI.escape("http://api.indeed.com/ads/apisearch?publisher=apikey&q=#{@query}&l=&sort=date&radius=&st=&jt=&start=&limit=50&fromage=&filter=&co=uk&userip=#{@ip}&useragent=#{@useragent}&v=2")))
    
end
end

Model searchjob.rb

class Searchjob < ActiveRecord::Base
  extend FriendlyId
  friendly_id :qw
 end
end

Routes.rb

match '*qw',    to: 'searchjobs#jobs', via: :get

尝试将您的路线更改为:

match '/searchjobs/jobs/:qw', to: 'searchjobs#jobs', via: :get