我已經創建了一個控制器頁面和一些簡單頁面的操作(例如聯繫我們),然後我去了routes.rb
並創建了一個允許用戶直接轉到/ contactus的路徑,而不是/頁/聯繫我們。Link_to指向靜態路由
如何將link_to指向動作,但仍然獲得正確的路由url?
我已經創建了一個控制器頁面和一些簡單頁面的操作(例如聯繫我們),然後我去了routes.rb
並創建了一個允許用戶直接轉到/ contactus的路徑,而不是/頁/聯繫我們。Link_to指向靜態路由
如何將link_to指向動作,但仍然獲得正確的路由url?
#config/routes.rb
resources :pages, path: "", only: [] do #-> has to be above everything in routes file
collection do
get :contact_us #-> url.com/contact_us
get :about #-> url.com/about
end
end
root ...
你會鏈接到它如下:
<%= link_to "Contact", pages_contact_us_path %>
get :contact_us, to: 'pages#contact_us'
或
get :contact_us, controller: :pages, action: :contact_us
這將產生路徑contact_us_path
或URL contact_us_url
你可以這樣做:
get '/contactus', to: 'pages#contactus'
您的鏈接可以是:
<%= link_to "Contact Us", contactus_path %>
欲瞭解更多信息,請參見:http://guides.rubyonrails.org/routing.html#connecting-urls-to-code
這是一個語法在pages
控制器中使用contactus
動作的簡單路由:
get '/contactus' => 'pages#contactus'
,或者如果你想爲你的路徑更簡單的名字:
get '/contactus' => 'pages#contactus', as: :contact