0
採取一個字符串所以我存儲我的數據庫這段代碼時隔離:運行EVAL從DB
def is_ten?(number)
number == 10
end
is_ten?(10)
現在我引用這個從屬於存儲它的模型類方法。
class Snippet < ApplicationRecord
def self.run_blocks
where(active: true).each do |snip|
eval(snip.code_block)
end
end
end
這將返回:
NoMethodError Exception: undefined method `is_ten?' for #<Class:0x007fd11ba2bec8>
但如果我這樣做的控制檯,它完美的作品。任何人有關於如何處理這個問題的想法?
這在生產代碼中不是件好事。 –
充分認識@MarkThomas!這是學習,而不是生產 –
我得到你想學習,但在同一時間,這就像學習如何刀刺傷你的眼睛。這不是一個非常有用的技能。什麼是更好的是學習如何包這樣的代碼到'在Ruby中module'您可以按需加載,元編程做正確。 – tadman