我有一个偏见,看起来像这样
p Your weekly stats
=@weekly_stats
p Your weekly shares
=@weekly_shares
我想通过向partial发送不同的名称来更改上面的这些变量:
=render 'stats', period: :weekly
=render 'stats', period: :monthly
所以我的部分看起来像:
p Your monthly stats
=@montly_stats
p Your monthly shares
=@monthly_shares
我想通过简单的字符串就可以这样做:
p Your #{period.to_s.capitalize} stats
但我怎么能用变量名做呢?
答案 0 :(得分:1)
您可以使用instance_variable_get
。它在此处记录:http://apidock.com/ruby/Object/instance_variable_get
对于你的例子,它应该是这样的:
instance_variable_get("@#{period.to_s.capitalize}_shares")