Имам помощник с метод с име search_form
по следния начин:
module Admin::BaseHelper
def search_form(*args)
# my great code here
end
end
За да извикам този метод в моя HAML код, мога да направя следното:
= search_form
= search_form()
= search_form(param1: "value1", param2: "value2"...)
Проблемът ми е с това първо обаждане. Когато правя това във всеки HAML файл, той рендира моя помощник. Освен ако името на моя файл е _search_form.html.haml. В такъв случай се връща nil
.
Ако поставя грешка при повдигане в помощника, забелязвам, че методът ми не се извиква, но не мога да намеря какво се извиква и защо.
Ако използвам синтаксиса на втория и третия ред, той работи както се очаква, като извикам моя помощен метод.
Въпросът ми е: това стандартно поведение на Rails ли е или грешка?