我有以下两种方法:
def index
invite_maker("invit_one")
end
def invite_maker(invit_number)
@user = current_user
if @user.invit_number == nil
[...]
end
end
我的问题是Ruby无法识别@user."invit_one"
,因为它应该是@user.invit_one
。如果输入invite_maker(invit_one)
,则会出现错误。我该如何解决?
答案 0 :(得分:1)
尝试:
@user.public_send(invit_number) == nil
答案 1 :(得分:0)
我不知道我是否了解您要做什么,但是如果您需要使用自定义字符串在对象上调用公共方法,则需要使用:public_send
方法。
@user.public_send(invit_number)
或者,您只能调用:send
,这对ANY方法(公共/受保护/私有)有效。
这将调用与字符串内容同名的方法。