如何将符号参数传递给实例的属性?
<%= image_input_and_display(f, :footer, '1140 x 104 pixels') %>
def image_input_and_display(f, symbol, hint)
f.input symbol, hint: hint
if @user.symbol.exists?
...
end
end
我正在尝试让函数运行,在这种情况下,if @user.footer.exists?
.有什么线索吗?
在这种情况下,您希望在知道方法的名称时执行该方法,以便Object#send
是您想要的。 send
按其名称运行方法。
@user.send(symbol).exists?
请注意,这可以访问该对象上的所有方法。 这会有什么作用?
image_input_and_display(f, :destroy, '1140 x 104 pixels')
答案是什么?非常糟糕的事情。看起来好像它只是在访问一个属性,但它可能在引擎盖下做一些你没想到的事情。只是要小心:)
不确定我是否确切地理解您在问什么,但这听起来像是一个动态方法调用。 对象实现发送。 你可以打电话给@user.send(symbol)
。