以下是如何在Rails/Ruby中将字符串转换为类:

p = "Post"
Kernel.const_get(p)
eval(p)
p.constantize

但如果我从数组/活动记录对象中检索一个方法,比如:

Post.description

但也有可能

Post.anything

任何东西都是像anything = "description"这样的字符串.

这很有帮助,因为我想重构一个非常大的类,减少代码行和重复.我该怎么做?

推荐答案

Post.send(anything)

Ruby-on-rails相关问答推荐

Ruby on Rails 身份验证:设计注册不起作用

如何在 Ruby on Rails 中正确存储 BigDecimal

Rails 路由到唯一索引

Ruby 地理定位Ruby /插件

如何使用默认的 Rails 记录器记录 Ruby 异常的整个回溯?

Rails cron 与时俱进,设置环境

如何在rails中发回js.haml

在 Windows 上安装特定的 Ruby on Rails 版本

Rails 4 迁移:如何重新排序列

使用 RSpec 2 关闭一个规范的事务性固定装置

关闭 Firefox 中文本字段的自动完成功能

我应该将全局共享部分模板放在哪个文件夹中?

导轨链接到:远程

Rails 范围为 IS NOT NULL 并且不为空/空白?

如何将 ActionMailer default_url_options 的 :host 动态设置为请求的主机名?

如果多态关联的类型列不指向 STI 的基本模型,为什么多态关联对 STI 不起作用?

从任何编码强制字符串为 UTF-8

在 Rails 中命名布尔列

为什么不对 Rspec + Selenium 使用共享的 ActiveRecord 连接?

Date.current 和 Date.today 有什么区别?