【问题标题】:Why isn't my rails 4 helper working?为什么我的 rails 4 助手不工作?
【发布时间】:2013-07-27 10:44:22
【问题描述】:

我的主页有一个帮助模块,其中有两种方法可以做同样的事情:

module HomeHelper
    def parsed_text(tweet)
        auto_link (tweet).gsub(/(@\w+)/, %Q{<a href="http://twitter.com/\\1">\\1</a>})
    end
    def other_parsed_text
        self.auto_link.gsub(/(@\w+)/, %Q{<a href="http://twitter.com/\\1">\\1</a>})
    end
end

在我看来这是可行的:

<%= parsed_text(tweet.text) %>

但这不是:

<%= tweet.text.other_parsed_text %>

我收到了NoMethodError at / undefined method other_parsed_textself 不是我的辅助方法中方法的调用者吗?

我做错了什么?我希望使用. 符号的第二种调用方法也可以工作。我该怎么做?

【问题讨论】:

  • 为什么我被降级了?这个问题不合适吗?

标签: ruby-on-rails ruby-on-rails-4 self view-helpers


【解决方案1】:

这不起作用,因为您没有扩展 tweet.text 所属的类。如果你想扩展一些类,你可以使用ActiveSupport::Concern。你现在做的是提供一些可以带参数调用的方法。

// 我在这里贴了一个例子:https://stackoverflow.com/a/8504448/1001324

【讨论】:

  • 一些示例代码会很有帮助。如何使用 activesupport 扩展我的 Tweet 类?我会在哪个类、模块或文件中执行此操作?
猜你喜欢
  • 1970-01-01
  • 2023-03-05
  • 2017-11-08
  • 2017-05-25
  • 1970-01-01
  • 2014-02-23
  • 1970-01-01
  • 2010-10-19
  • 2015-09-04
相关资源
最近更新 更多