【问题标题】:Rails - How to use variable as part of method nameRails - 如何使用变量作为方法名称的一部分
【发布时间】:2015-09-15 07:25:51
【问题描述】:

我正在尝试将变量名称添加到 rails 中的 method_name 中。我收到错误。

**控制器动作** ====================== def my_action(状态) 方法_#{状态} 结尾 **模型方法** ===================== def method_start 结尾 def 方法结束 结尾

如何用我没有得到的变量名调用方法。

【问题讨论】:

标签: ruby-on-rails


【解决方案1】:

使用Object.send 按名称调用方法。例如,

def my_action(state)
  if [:start, :end].include?(state)
    model.send("method_#{state}")
  end
end

确保验证 state 变量的安全性。 Object.send 可以调用任何方法,包括私有方法。

【讨论】:

    猜你喜欢
    • 2011-12-03
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    • 2011-07-05
    相关资源
    最近更新 更多