Ruby / Sinatra使用迭代器创建实例变量

问题描述 投票:0回答:1

我在整个学校都有一个实验室,我需要创建一个包含篮球队属性(即队名,教练,控球后卫等)的表格,并且想知道是否有任何方法可以动态创建实例变量,符号使用排序的迭代器,而不是对其进行硬编码。

这里是我的意思的硬编码版本

  post "/team" do
    @name = params["name"]
    @coach = params["coach"]
    @pg = params["pg"]
    @sg = params["sg"]
    @pf = params["pf"]
    @sf = params["sf"]
    @c = params["c"]
    erb :team
  end

如果可能,我想使用与此块相似的东西

  post '/team' do
    params.each do |parameter|
      @[parameter] = params["#{parameter}"]
    end
    erb :team
  end

当我运行上面的代码时,我收到意外的输入结束语法错误。任何帮助将不胜感激!

ruby sinatra instance-variables
1个回答
0
投票

尝试使用instance_variable_set方法https://apidock.com/ruby/Object/instance_variable_set像这样的东西:

© www.soinside.com 2019 - 2024. All rights reserved.