2016-02-17 2 views
0

Я пытаюсь установить переменные в ряду ссылок link_to, так что каждая ссылка связана со значением.Установка переменной в link_to, в rails 4


На одной странице У меня есть цикл, который создает список ссылок из значений в моей базе данных:

<ul> 
    <% @alldata.each do |x| %> 
    <li><%= link_to "#{x.name}", charts_path %></li> 
    <% end %> 
</ul> 

The 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 

Я хотел бы изменить свой цикл списка, чтобы установить переменную-переменную в 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 

Но это кажется очень плохое программирование ...


Я извиняюсь, если этот вопрос бедный, я чрезвычайно новичок в программировании.

Любая помощь была бы принята с благодарностью!

Спасибо

ответ

2

Пробуйте использовать этот код.

<%= link_to "#{x.name}", charts_path(x.name) %> 
+0

поблагодарить вас за вашу помощь –

0

Если я правильно понимаю, вы хотите, чтобы передать имя x в качестве переменной строки запроса. Вы можете легко сделать это с помощью charts_path помощника:

<%= link_to "#{x.name}", charts_path(variable: x.name) %> 

charts_path принимает хэш, который будет принят с просьбой

+0

поблагодарить вас за вашу помощь, я должен был забрать переменную используя params [: variable], в контроллере для моих диаграмм, тогда это сработало –

Смежные вопросы