You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Rails字符串"DateTime.tomorrow"解析为DateTime对象?

解析字符串"DateTime.tomorrow"为Rails的DateTime对象

可以实现,这里提供两种常见方式:

  • 使用Ruby的eval方法直接执行字符串代码:

    result = eval("DateTime.tomorrow")
    # result 等价于直接调用 DateTime.tomorrow 得到的DateTime对象
    

    注意:eval会执行任意传入的字符串代码,如果字符串来自不可信来源(比如用户输入),会存在严重的安全风险,可能被注入恶意代码,使用前必须确保字符串来源完全可信。

  • 拆分字符串后手动调用方法:
    先把字符串按.拆分为类名和方法名,再通过constantize获取类、send调用方法:

    str = "DateTime.tomorrow"
    klass_name, method_name = str.split(".")
    klass = klass_name.constantize
    result = klass.send(method_name)
    

    这种方式比eval的风险略低,因为限制了调用范围,但同样要确保类名和方法名是安全可信的,避免触发危险方法。

内容的提问来源于stack exchange,提问作者marcHoll90

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 21:45:32