2013-10-25 25 views
-6

任何人都可以解释"#{self.key}""vynd6tg1hh"之间的区别"#{self.key}"打印出"vynd6tg1hh"“#{self.key}”和“vynd6tg1hh”之间有什么区别?

我有哪里"#{self.key}"不工作的方法,但是在字符串中直接把做:

def get_wistia_media 
    Wistia::Media.get(wistia_key) 
    end 

不一起工作:

def wistia_key 
    "vynd6tg1hh" 
    end 

def wistia_key 
    "#{self.key}" 
    end 

是否与工作

我不明白。

编辑1:'不工作'我的意思是,当我使用“#{self.key}”时,该方法会得到'404错误'。

编辑2:他们都在我的视频模型。

+0

定义“不起作用” –

+0

什么是上下文,什么是自我?这些方法在同一个班级吗?我对我毫无意义。 – calas

+0

您是否在控制台中尝试过?什么是输出:'video = Video.first; Wistia :: Media.get(video.key.to_s)'? – calas

回答

0
def get_wistia_media 
    Wistia::Media.get(wistia_key) 
end 

是调用类方法

def wistia_key 
    "#{self.key}" 
end 

被定义为实例方法,尝试def self.wistia_key

def wistia_key 
    "vynd6tg1hh" 
end 

就返回一个字符串,将永远是相同的。

+0

实际上它返回最后一个例子中的字符串。 –

+0

谢谢马特。我应该意识到的问题是,它正在循环播放所有视频,其中一些视频没有存储关键值。对我来说,这是一个巨大的'德'时刻。 – jfdimark

相关问题