2017-04-13 64 views
0

大家好,我有一個觀點_disqus.html.erb當我打電話這種觀點我通過這樣的如何「.erb」串連像HAML

的對象渲染‘disqus’,產品:產品| | 渲染 「disqus」,產品:交

,我想串連像這樣

「#{產品+」 _路徑(產品) 「」

,因爲有時我送帖子,有時我發送一個產品,我不想讓其他視圖的帖子,所以我只想連接對象。

代碼:

var disqus_config = function() { 
    this.callbacks.onNewComment = [ 
     function() {   
     $.ajax({ 
      method: "PATCH", 
      url: '<%= product_path(product) %>',   
      data: {increment: "comment_count"} 
     }) 
     } 
    ]; 
}; 

URL: '<%= product_path(產物)%>'

如何可以連接?感謝

在Java

會是這樣的

產品+ 「_路徑(產品)」

「的產品將是=郵寄或=產品」

我試着用這個

url:'<%= product + _path(product)%''

,但我得到語法錯誤:(

+0

有時你想調用'product_path(產品)'和'有時post_path(後)'? –

+0

是我的朋友。我怎樣才能做到這一點? –

+0

你什麼時候需要一個,當另一個需要時,你可以使用一個條件。 –

回答

1

一般product_path這只是一個方法。您可以使用呼叫方法元編程當你有一個名字作爲一個字符串:

<%= send("#{product.class.name.downcase}_path", product) %> 

希望它可以幫助

+0

我得到這個錯誤bro未定義的方法'#<發佈:0xa67a630> _path'爲#<#:0xa679e68> –

+0

@AlienJava錯過了它的對象。編輯 – idej

+0

我認爲問題發生是因爲字符串返回像這樣的「Post_past」,我如何顯示「post_path」或「product_path」不「Post_path」或「Product_path」 –