我的目标是仅在application_helper
中保留我在模板中使用的方法,否则我的application_helper
会变得太长。
我的问题依赖于后缀Helper
:
此作品
# app/helpers
module ApplicationHelper
include ApplicationLayout
end
# app/helpers/layouts
module ApplicationLayout
def my_helper
puts 'my_helper!'
end
end
这不是
# app/helpers
module ApplicationHelper
include ApplicationLayoutHelper
end
# app/helpers/layouts
module ApplicationLayoutHelper
def my_helper
puts 'my_helper!'
end
end
错误是:
Expected app/helpers/layouts/application_layout_helper.rb to define Layouts::ApplicationLayoutHelper
所以我筑巢了,我得到了:
Routing Error undefined method `sub' for nil:NilClass
其实我想实现(发表您的观点)app/helpers/layouts/application_helper.rb
但是它也会出现同样的错误,所以为了简单起见,我说了这个案例。
关于如何为布局提取辅助方法的任何建议?我可以使用配置吗?
谢谢
答案 0 :(得分:0)
好吧,我尝试了你所期待的,而且非常直接:
helpers/layouts/application_layout_helper.rb
中的
module Layouts
module ApplicationLayoutHelper
def my_helper
'my_helper!'
end
end
end
helpers/application_helper.rb
中的
module ApplicationHelper
include Layouts::ApplicationLayoutHelper
end
广告在我看来我直接做:
<%= my_helper %>
我仍然不明白你会对这些方法做些什么。