ruby-on-rails - rails : Using Eval to call another action

标签 ruby-on-rails ruby model-view-controller controllers realex-payments-api

我知道从 Controller 调用其他操作未获批准,但我得到的代码使用 eval() 来执行此操作。

  if @payment.save
    eval("pay_with_#{params[:method]}")
  end 

method 参数已设置(值为realex),支付正在保存,但pay_with_realex 函数未被调用。这大概与 eval() 有关吗??

作为替代方案,您有什么建议?

最佳答案

你可以使用Object.send

if @payment.save
    send("pay_with_#{params[:method]}")
end 

关于ruby-on-rails - rails : Using Eval to call another action,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12007802/

相关文章:

ruby-on-rails - 在服务器启动时启动 ruby​​ rake 任务

ruby - Ruby 中的案例选择

php - 同名 collison 的 Codeigniter Controller 和模型

ruby-on-rails - 从 React 调用 Shopify API

java - Java 中的 Rails 闪存消息

ruby-on-rails - 在 Rails 3.2.6 中使用 Paperclip-FFMPEG 从视频中获取元数据

ruby-on-rails - 在本地主机中使用 Apache\Phusion Passenger 为虚拟主机设置 SSL 证书时出现问题

c# - 没有模型的 MVC 多选选定值

Java MVC : updating View that observes multiple Models

ruby-on-rails - has_many ,通过关联 Rails