我有一个名为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
.
如果我在帮助程序中添加了一个 raise 错误,我注意到我的方法没有被调用,但我无法找到被调用的内容以及原因。
如果我使用第二行和第三行的语法,它可以通过调用我的辅助方法按预期工作。
所以我的问题是:这是标准的 Rails 行为还是错误?