Ruby on rails presenter rails中未定义的方法“content_for”
我使用rails视图的演示器来显示保存在yml文件中的数据。i18n宝石 这是控制器-Ruby on rails presenter rails中未定义的方法“content_for”,ruby-on-rails,ruby,web,Ruby On Rails,Ruby,Web,我使用rails视图的演示器来显示保存在yml文件中的数据。i18n宝石 这是控制器- class DocumentsController < ApplicationController def index @presenter = DocumentPresenter.new end end 这是我的演示者- class DocumentPresenter def viewname content_for :secondary_nav_title do
class DocumentsController < ApplicationController
def index
@presenter = DocumentPresenter.new
end
end
这是我的演示者-
class DocumentPresenter
def viewname
content_for :secondary_nav_title do
t('Documents')
end
end
end
错误显示:
未定义的方法“content\u for”
为什么rails不能识别演示者中的content\u?助手content\u方法不应该在模型中使用,因为这违反了MVC模式 如果必须使用它,尽管不建议使用,但可以将其添加到模型底部
def helpers
ActionController::Base.helpers
end
然后为您调用content_将使用
class DocumentPresenter
def viewname
helpers.content_for :secondary_nav_title do
t('Documents')
end
end
end
我没有在模型中使用内容。我正在我的演示者中使用它。问题似乎出在演讲者身上。由于某些原因,Rails无法识别演示者中的内容。我说的对吗?这个解决方案应该仍然有效,试着在演示文稿末尾添加def帮助程序,并以上面显示的方式进行调用,效果很好。当我试图通过t'Documents'访问这些值时,似乎仍然存在问题。我也需要为此添加一个助手吗?
class DocumentPresenter
def viewname
helpers.content_for :secondary_nav_title do
t('Documents')
end
end
end