【问题标题】:(Rails) Accessing methods from a controller in a different view(Rails)从不同视图中的控制器访问方法
【发布时间】: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 是有效的。

标签: ruby-on-rails ruby views controllers


【解决方案1】:

您可以将方法放在辅助模块中,也可以在控制器中使用 helper_method,(查看过去的stackoverflow question 了解有关 helper_method 的更多信息。

【讨论】:

    【解决方案2】:
    1. 如果您要从PostController 访问的方法是 7 CRUD 功能,我建议你弄清楚你的功能是什么 想要复制并将其移动到单独的方法中并执行第 2 步。
    2. 将您要分享的方法移至PostsHelper。然后你可以 include PostsHelper in HomeController 并使用以下函数 在那里。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-18
      相关资源
      最近更新 更多