2013-07-27 3 views
1

내가 같은 일을 할 두 가지 방법으로 내 홈 페이지에 대한 도우미 모듈이 있습니다내 레일 4 도우미가 작동하지 않는 이유는 무엇입니까?

<%= parsed_text(tweet.text) %> 

을하지만이되지 않습니다 : 내 관점에서

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 

을이 작동

<%= tweet.text.other_parsed_text %> 

나는 NoMethodError at/ undefined method other_parsed_text이됩니다. self 내 도우미 메서드 내부의 메서드 호출자가 아닌가요?

내가 뭘 잘못하고 있니? . 표기법을 사용하는 두 번째 스타일 호출 메서드도 필요합니다. 어떻게해야합니까?

+0

가 왜 아래로 표시되었다 :

는 // 여기 예를 게시? 질문이 적절하지 않습니까? –

답변

2

tweet.text이있는 클래스를 확장하지 않아서 작동하지 않습니다. 어떤 클래스를 확장하려면 ActiveSupport::Concern을 사용할 수 있습니다. 지금 당신이하고있는 일은 매개 변수로 호출 할 수있는 몇 가지 메소드를 증명하는 것입니다. https://stackoverflow.com/a/8504448/1001324

+0

일부 샘플 코드가 도움이 될 것입니다. 내 Tweet 클래스를 activesupport로 확장하려면 어떻게해야합니까? 어떤 클래스, 모듈 또는 파일에서이 작업을 수행합니까? –

+0

편집을 참조하십시오, 내가 몇 시간 전에 쓴 예제에 대한 링크를 게시했습니다 ... – davidb