2016-08-11 54 views
1

我寫了application_helper.rb,它基本上是我的Rails應用程序的全局幫助器。而爲了讓我使用的網址助手像post_url(post),Rails的逼我包括我的application_helper.rb頂部驗證碼:錯誤的參數數量(3代表0..1)當我包含「Rails.application.routes.url_helpers」

include Rails.application.routes.url_helpers

我包括像這樣的一行代碼:

include Rails.application.routes.url_helpers 
include ActionView::Helpers::TextHelper 

module ApplicationHelper 
.... 
end 

突然間,當我在瀏覽器中加載我的應用程序,所有的link_to代碼似乎被拋相同類型的錯誤是這樣的:

wrong number of arguments (3 for 0..1)

這裏是一個錯誤的截圖:

enter image description here

這是我的一個link_to代碼示例:

<%= link_to root_path do %> 
    <img src="https://googledrive.com/host/xxx/xxx-logo-small.png" class="" /> 
    <% end %> 

而且它不是僅此鏈接,導致一個錯誤,但我的應用程序中的所有鏈接!那麼這個include Rails.application.routes.url_helpers有什麼問題?爲什麼會造成這樣的錯誤?我怎麼能使用它並解決它在同一時間造成的問題?

謝謝!

+0

嘗試,包括他們內,您的輔助模塊,而不是它上面。 – Raffael

+0

從未聽說過Rails強制某人'包含Rails.application.routes.url_helpers'以便能夠在你的'Helper'模塊中使用Rails助手。它究竟如何影響你? – jibiel

+0

@Raffael我試過了。但是,我也有一個rake文件,取決於這個application_helper。當我把它們放入INSIDE並嘗試運行我的rake文件時,我遇到了一個錯誤。所以這就是爲什麼我把它們放在外面。但再次,當我把它們放在外面時,我得到了像你在這個線程中看到的錯誤 –

回答

0

你需要添加這也包括你的助手

include AbstractController::Rendering 
include AbstractController::Helpers 
include AbstractController::Translation 
include AbstractController::AssetPaths 
include Rails.application.routes.url_helpers 
相關問題