首先,您真的很重要,不應該只做GET,因爲它會讓您的應用程序非常脆弱。我可以進一步舉例說明爲什麼你不應該首先解決實際問題。
爲了讓您的路線更加乾燥,您可以在單獨的模塊中創建自定義路線助手並使用它們。通過在RAILS_ROOT/lib
文件夾中創建一個route_helpers.rb
開始,然後讓它看起來像這樣:
class ActionDispatch::Routing::Mapper
def my_resources(*args)
args.each do |res|
get "#{res}/create"
get "#{res}/update"
get "#{res}/new"
get "#{res}/edit"
get "#{res}/destroy"
end
end
end
然後你就可以在你的routes.rb中使用的路線是這樣的:
require 'route_helpers'
AppName::Application.routes.draw do
my_resources :brands
end
也不要忘記要求我的例子中的route_helpers。
現在,不要!像我的例子那樣做。我同意不重複自己是件好事,但標準資源爲什麼會按照它的方式生成路由是有原因的。 GET僅用於讀取,不會創建,更新並且不會銷燬記錄。
如果您創建鏈接以銷燬某個項目,並且搜索引擎開始抓取您的站點以對其進行索引,那麼它將跟隨get命令和BAM的鏈接....您的記錄被刪除。 如果您已登錄您的網站以防止這種情況發生,那麼如果您的用戶已登錄,然後在另一個標籤頁中訪問我擁有img標籤的頁面,並將其src設置爲yourdomain.com/brands /銷燬那麼用戶瀏覽器與登錄會話將嘗試獲取並下載圖像和BAM .....你的記錄再次被刪除。
這只是一些例子,但重點仍然是,爲了您自己,不要使用GET協議。
爲什麼你必須使用'GET'? – Bohdan
有什麼區別?無論如何,我無法使用資源。 – zishe
僅使用'GET'和使用'GET/POST'的區別幾乎與不使用降落傘或使用一個跳傘的跳傘相同:) – Bohdan