2011-08-26 58 views
0

之間的差異,當我讀的書「Aglie web開發與軌道4號」,我發現代碼方法問題,URL和路徑

<%= button_to 'Add to Cart', line_items_path(:product_id => product) %> 

有什麼區別,如果我使用"line_items_url"和代碼沒有按」 t的方法有如:method=>:post,

爲什麼?

回答

4

path版本會生成相關url,例如/order/34/lines/,而url版本會生成完整的url,例如http://localhost:3000/order/34/lines/

當用戶點擊郵件客戶端或外部網絡郵件中的鏈接時,郵件程序中經常使用第二種形式。

在您的網站上,您不會注意到任何區別。

此外,:method=>:post選項將產生一個post服務器的請求。它會通過添加一個JavaScript代碼來創建一個表單,爲其添加參數並執行submit調用,以使用post方法將瀏覽器發送到請求的頁面。

+0

非常有幫助!謝謝! – Jack

+0

@YuLong不客氣。如果您發現有用解決您的問題,您應該接受答案。 – Fabio

0

_url幫助程序會生成一個URL,其中包含協議和主機名稱 。 _path助手只生成路徑部分。