gpt4 book ai didi

ruby-on-rails - ruby 动态方法传递一个值

转载 作者:数据小太阳 更新时间:2023-10-29 08:21:40 24 4
gpt4 key购买 nike

如何将值传递给在 Rails 模型上调用的动态方法名称?

@model.send(dynamic_method_name.to_sym,123)

这给出了错误:

 wrong number of arguments (1 for 0)

如果我要使用与此相同的方法:

 @model.post_id = 123

然后就可以了。

因此方法 post_id 有一个“setter”方法(因此有动态方法名称)。

当方法是动态的时,如何将值传递给此 setter?

谢谢!

最佳答案

您需要将“=”添加到您的 dynamic_method_name。在ruby中,:post_id是getter的名字,:post_id=是setter的名字。 .to_sym 不是绝对必要的,因此您可以这样做:

@model.send("#{dynamic_method_name}=", 123)

关于ruby-on-rails - ruby 动态方法传递一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3099300/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com