【问题标题】:Change table name/model name dynamically in ruby on rails在 ruby​​ on rails 中动态更改表名/模型名
【发布时间】:2017-11-28 02:21:09
【问题描述】:

我有两个具有完全相同列的表。我希望即时更改模型名称并从用户选择的模型中提取数据。如何做到这一点?我有这样的代码:-

def display
    @active_model =  get_active_model(params[:active_model])
    versions = @active_model.group(:version).count
end

get_active_model 看起来像这样:-

def get_active_model(model_param)
    case model_param
    when 'Eclipse'
        return "Eclipse"
    when 'Jdt'
        return "Jdt"
    end
end

“@active_model”是用户选择的模型,可以是“Eclipse”或“JDT”。当我直接用模型名称替换“@active_model”时,它可以工作。但我想动态地改变它。我是 ROR 的新手,所以请给我您的建议!

【问题讨论】:

    标签: ruby-on-rails activerecord model


    【解决方案1】:

    您可以使用模型名称代替字符串:

    def get_active_model(model_param)
        case model_param
        when 'Eclipse'
            return Eclipse
        when 'Jdt'
            return JDT
        end
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-01
      • 2015-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多