2012-06-04 62 views
-2

是否有可能在控制器中的實例變量的exec ruby​​代碼?Rails有可能嗎?

實施例:

def something 
@code = "redirect_to 'https://www.google.com/'" 
exec(@code) // And then it would redirect. 
end 
+1

您能否詳細說明您要實現的目標?可能有更好的方法來解決你的問題。 –

+2

肯定與科迪在這裏。如果你想要這樣執行Ruby代碼,很可能是你做錯了。 –

+1

http://www.ruby-doc.org/core-1.9.3/Kernel.html#method-i-eval是的,這是可能的。我不知道這是一個好主意,但... – Travis

回答

1

不要這樣做。 Rails是Ruby。在Ruby中,您可以使用eval方法在字符串內執行任何命令。當你開始真正進入它時,有class_eval。

@myvar = "puts 'SHOULD NOT HAVE DONE THIS!!'" 

eval(@myvar) # SHOULD NOT HAVE DONE THIS!! 

保持安全。