Я написал application_helper.rb, который в основном является глобальным помощником для моего приложения Rails. И для того, чтобы я использовать вспомогательный URL-адрес, как 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)
Вот скриншот этой ошибки:
Это образец одного моего 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
? Почему это вызывает такую ошибку? И как я могу использовать это и исправить проблему, которую он вызывает одновременно?
Спасибо!
Try включая их ВНУТРИ ваш помощник модуля, а не над ним. – Raffael
Никогда не слышал о Rails, чтобы заставить кого-то «включить Rails.application.routes.url_helpers», чтобы использовать помощники Rails в ваших модулях «Помощник». Как именно это вас заставляет? – jibiel
@ Raffael Я пробовал это. Но тогда у меня также есть файл рейка, который зависит от этого application_helper. И когда я помещаю их в INSIDE и пытаюсь запустить мой файл рейка, у меня есть ошибка. Так вот почему я положил их ВНЕШНИЕ. Но опять же, когда я ставил их снаружи, я получил ошибку, как вы видите в этой теме. –