【问题标题】:How to retrieve the current page value in a controller?如何在控制器中检索当前页面值?
【发布时间】:2011-08-28 03:57:22
【问题描述】:

我正在使用 Ruby on Rails v3.0.9,并且我会使用类似于 current_page?(options) 方法(包含在 RoR ActionView::Helpers::UrlHelper 类中)的方法,但是在我的控制器。也就是说,如果当前“浏览”页面对应于 RoR 路径(例如:signup_pathsignin_path 等),我想检查 在我的控制器中(不在视图文件中)。 .).

有可能吗?如果是这样,我该如何做到这一点?

【问题讨论】:

  • 为什么?这段代码的目的是什么?
  • 试图在你的控制器中包含这个助手? include ActionView::Helpers::UrlHelper
  • 但是,根据定义,您在中的任何操作都是当前页面。你想用这段代码完成什么?
  • @jdl,代码重用意味着您经常在动作本身以外的方法中使用代码,使用我的多个动作/控制器。如果您将此代码硬编码到某个动作中,那么是的,您已经知道了,但显然情况并非如此。
  • 页面是查看动作。正如其他人所问的那样 - 你想做什么?如果您解释说更好的人可以提出一个好的答案。如果没有更多上下文,以这种方式谈论控制器中的视图信息是没有意义的。

标签: ruby-on-rails ruby ruby-on-rails-3


【解决方案1】:

不知道当前页面是什么的动作从根本上说是错误的,但是在我们看到一些真实的代码之前,我认为我们不会深入了解它。

这个 Railscast 应该会给你一些关于构建你所追求的向导的想法。

http://railscasts.com/episodes/217-multistep-forms

【讨论】:

  • 我完全按照 railscast 在我的主页中插入(作为部分模板)第一步表单。我想做的是将下一步(第二步等)重定向到与通常处理这些步骤的控制器操作相关的页面。
【解决方案2】:

我给你的建议:如果你需要在控制器中使用这种方法,那么要么你的路由很丑,要么你的控制器中的代码很丑。

最好考虑一下您可以在现有代码中改进哪些方面以避免使用“current_page?”在控制器中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-02
    • 1970-01-01
    • 2012-06-23
    • 1970-01-01
    • 1970-01-01
    • 2019-10-31
    • 2016-02-22
    • 2022-01-03
    相关资源
    最近更新 更多