當如何,我們通過額外PARAMS除了ID的Rails 3 UJS:使用的link_to
#we want to pass in additional params as well
<%= link_to "bleh", like_path(answer), :add_param=>2 , :remote=>"true" ,:method=>:post %>
當如何,我們通過額外PARAMS除了ID的Rails 3 UJS:使用的link_to
#we want to pass in additional params as well
<%= link_to "bleh", like_path(answer), :add_param=>2 , :remote=>"true" ,:method=>:post %>
您可以通過在路徑功能參數作爲URL的一部分傳遞PARAMS。例如:
<%= link_to "bleh",
like_path(:answer_id => 123, :add_param => 2),
:remote=> true , :method=> :post %>
# would result in something like
# yourapp.com/like/aswer/3?add_param=2
但我認爲在這種情況下,您需要遠離純粹基於資源的路徑助手。檢查documentation的想法。
如果你不想把參數到路徑幫手 - 也許是因爲有很多人或者你不知道他們在生成頁面的時候 - 你也可以把它們放進data-params
屬性。
例如:
link_to "Add to cart", cart_path,
data: { method: :post, remote: true, params: { product_id: 123 }.to_param }
生成的HTML看起來像這樣:
<a data-params="product_id=123" data-remote="true" data-method="post"
href="/cart" rel="nofollow">Add to cart</a>
jQuery的UJS處理機附着一切從data-params
屬性到POST請求體。
從概念上講,首先使用路徑幫助程序沒有多大區別,但是如果要在Javascript中修改參數,此解決方案可能會產生更優雅的代碼。
很好的答案!我正在尋找這樣的東西。我知道Rails魔術師也會爲此做些什麼。你在哪裏找到這個? – Jashwant 2013-12-20 08:05:52