2014-06-24 3 views
2

가능한 멍청한 놈 경고 우려를 사용 : RoR에루비 온 레일 - 컨트롤러에

새로운 나는의 RoR에 우려를 사용하는 것을 시도하고있다. 내가 노력하고 내가 내 지식 somethingfoo으로

#./app/controllers/foo_controller.rb 
class FooController < ApplicationController 

    include Foo 

    def show 
    Foo.somethingfoo # undefined method 'somethingfoo' for Foo:Module 
    render plain: "Ohh no, It doesnt even show me because of the error above me" 
    end 
end 

가 호출되어야 정의되지 않은 메서드 오류를 얻을 내 컨트롤러에서이 문제를 사용하지만이 경우 지금은 단지

#./app/controllers/concerns/foo.rb 
module Foo 
    extend ActiveSupport::Concern 

    def somethingfoo 
    puts "Ayyyy! Foo" 
    end 
end 

writen 매우 간단한 문제가 아니. 문제의 included do ... end 블록에서 somethingfoo을 정의하려고 시도했지만이 방법도 작동하지 않습니다.


누락 된 것이 있습니까? 컨트롤러와 관련하여 이러한 우려를 사용할 수 없습니까?

+0

을 읽어야

컨트롤러 방법은 왜'Foo'에 아무것도를 호출하려고? http://stackoverflow.com/a/15078070/438992, http://blog.andywaite.com/2012/12/23/exploring-concerns-for-rails-4/ 등 –

답변

6

모듈을 포함하는 경우 (ActiveSupport::Concern 확장) 해당 모듈의 메소드가 클래스/모듈을 포함하는 인스턴스 메소드가됩니다. 따라서

def show 
    somethingfoo 
    render plain: "Yeah, I'm shown!" 
end 
+0

한 번 답변을 수락합니다. 나 한테 고마워. –

관련 문제