我在实例变量中有一些变量(其他方法可以访问该变量),其类型是散列。
如果我不希望哈希 @iw2 中的所有成员都应用 attr_accessor
只有@iw2[:dir] 可以被其他人修改。
@iw2 ={}
@iw2[:dir] = "#{Rails.root}/#{ENV["module_handy_network_tools_src_path"]}"
@iw2[:prog_path] ="#{@iw2[:dir]}/#{ENV["module_handy_network_tools_prog_path"]}"
于是我就这样写了
attr_accessor :iw2[:dir]
但我得到了错误
TypeError (can't convert Symbol into Integer):
app/helpers/handy_network_tools_helper.rb:8:in `[]'
如何解决这个问题,在此先感谢。
[2] pry(#<HandyNetworkToolsController>)> @iw2.class
=> Hash