【发布时间】:2019-09-27 13:26:21
【问题描述】:
我正在尝试在一系列 link_to 链接中设置变量,以便每个链接都与一个值相关联。
在一个页面上,我有一个循环,它根据我的数据库中的值创建一个链接列表:
<ul>
<% @alldata.each do |x| %>
<li><%= link_to "#{x.name}", charts_path %></li>
<% end %>
</ul>
charts_path 链接到显示 chartkick 图表的视图:
<%= line_chart @data.group("year").sum("magnitude") %>
从控制器获取数据:
def graphdata(x)
@data = Model.all.where(name: x).select("magnitude, year")
end
def charts(?variable)
@data = graphdata(?variable)
end
我想更改我的列表循环以将 ?variable 设置为 x.name。例如:
<li><%= link_to "#{x.name}", charts_path, ?variable = "#{x.name}" %></li>
这样我就有了一个链接列表,这些链接指向不同的图表,其中包含特定于该链接的数据。
我可以为每个名字定义一个特定的视图:
def chart1
@data = graphdata("name1")
end
def chart2
@data = graphdata("name2")
end
但这似乎是非常糟糕的编程......
如果这个问题很糟糕,我很抱歉,我对编程非常陌生。
任何帮助将不胜感激!
谢谢
【问题讨论】:
标签: ruby-on-rails link-to