Ruby将每个循环x转换为变量替换
我试图将第3行中的变量设置为x部分的值@“#{x}”。我找不到正确的语法。我知道发送(x)和发送(x)到sym。但我需要知道如何将每个循环中的x设置为带@的@变量。谢谢 所以您要查找的是实例变量集Ruby将每个循环x转换为变量替换,ruby,variables,loops,each,variable-substitution,Ruby,Variables,Loops,Each,Variable Substitution,我试图将第3行中的变量设置为x部分的值@“#{x}”。我找不到正确的语法。我知道发送(x)和发送(x)到sym。但我需要知道如何将每个循环中的x设置为带@的@变量。谢谢 所以您要查找的是实例变量集 instance_variable_set“@#{x},@bbb.collect{x|x.car} 但这可能不是最好的处理方法。没有看到使用它的代码,很难说清楚,但可能考虑将结果放入哈希:结果[X]=@ BBB。 还要注意的是,“#{x}”与x.to_s 另外,最好避免直接在视图中查询模型(假设您在这
instance_variable_set“@#{x},@bbb.collect{x|x.car}
但这可能不是最好的处理方法。没有看到使用它的代码,很难说清楚,但可能考虑将结果放入哈希:<代码>结果[X]=@ BBB。
还要注意的是,“#{x}”
与x.to_s
另外,最好避免直接在视图中查询模型(假设您在这里使用Rails,因为您似乎在使用ActiveRecord),因为它将表示与代码混合在一起(您不能将它们作为单独的部分。它有一种变得非常丑陋的趋势),它将您的视图与您最初使用的一个用例结合在一起(不能在同一视图中呈现不同的数据,即使应该呈现相同的数据)。请考虑将此代码移到控制器中。(甚至是负责管理此数据查询的其他对象,让您的控制器负责处理请求。当然,但我需要15个代表点,但还没有。我是新手。我愿意就如何更好地使用此系统提出建议。
<% @parts.each do|x| %>
<% @bbb = Relation.where(part: "#{x}") %>
<%= **@"#{x}"** = @bbb.collect {|x| x.car} %>
<% end %>