j_m*_*lly 8 ruby ruby-on-rails ruby-on-rails-3
假设我将模型名称保存在变量中:
"#{class_name.singularize}"
Run Code Online (Sandbox Code Playgroud)
从另一个控制器我想看到为这个模型定义的列.我试过了
send("#{class_name.singularize}.columns")
Run Code Online (Sandbox Code Playgroud)
但它试图将Page.columns我作为班级的一种方法,而不是Page班级.关于如何做到这一点的任何想法?
And*_*all 13
用途constantize:
class_name.singularize.constantize.columns
Run Code Online (Sandbox Code Playgroud)