(Rails)从不同视图中的控制器访问方法
Posted
技术标签:
【中文标题】(Rails)从不同视图中的控制器访问方法【英文标题】:(Rails) Accessing methods from a controller in a different view 【发布时间】:2012-07-09 03:55:19 【问题描述】:在 Rails 中,例如,我如何访问 Home 视图中 Post 控制器中的方法?我很确定它涉及助手,但我似乎无法正确处理。
很抱歉,如果这个问题已经被问过,但我不知道要寻找什么。
【问题讨论】:
你是对的。 Post 控制器是为 Post 视图保留的,因此 Home 视图不能使用 Post 控制器中的方法。你想访问什么方法?你想干什么?您可以通过在 HomeHelper 中创建必要的方法来完成大部分您需要做的事情。 我正在尝试遵循入门指南 (guides.rubyonrails.org/getting_started.html)。目前,我正在尝试在我的主页视图中列出每个帖子的名称。 您没有使用 Post 控制器的方法,而应该使用 Post 模型类的方法。 @posts = 您的 Home 控制器中的 Post.all 是有效的。 【参考方案1】:您可以将方法放在辅助模块中,也可以在控制器中使用 helper_method,(查看过去的*** question 了解有关 helper_method 的更多信息。
【讨论】:
【参考方案2】:-
如果您要从
PostController
访问的方法是
7 CRUD 功能,我建议你弄清楚你的功能是什么
想要复制并将其移动到单独的方法中并执行第 2 步。
将您要分享的方法移至PostsHelper
。然后你可以
include PostsHelper
in HomeController
并使用以下函数
在那里。
【讨论】:
以上是关于(Rails)从不同视图中的控制器访问方法的主要内容,如果未能解决你的问题,请参考以下文章