2013-01-03 4 views
0

я теперь, что вопрос может быть не хорошо так, но нужна помощь: На моем взгляде рельсы Haml у меня есть такой код:Rails получить от имени столбца вида таблицы и значения выбора

%table.table.table-striped 
    = form_tag :admin_other_price_upload do 
    %tr  
     - @csv.first.length.times do |n| 
     %th 
      = n + 1 
      %br/ 
      =select_tag "s"+(n+1).to_s, options_for_select([["Брэнд", "Brand"], ["Артикул","Article"], ["Наименование","Descr"], ["Цена","Price"], ["Количество","Quantity"], ["Дополнительно","Other"], ["Поле кроссов","Cross"]]), :prompt => 'Все', :id => "select-value" 
********************************* 

так вы можете видеть, что я устанавливаю все имя select как s (n + 1) и значение one из списка. Но как я могу получить их как в методе контроллера? Мне нужно, потому что у меня динамический стол. Я объясню это на примере:

Так у меня есть таблица выбора-х

name = s1 (value = Brand) | name = s2 (value = Price) 

так что мне нужно в контроллере, чтобы получить не только то, что s1 => марка, но и получить это 1 из s1 Так если параметр выглядеть как [ s1 => {Марка} ] Мне нужно для моего расчета s1 не значение, но s1 в строке (просто мне нужно найти в Params, какое значение имеет бренд и выбрать его в качестве значения) Итак, для бренда мне нужно выбрать s1 и установить как s1 значение s1, как я могу это сделать?

+0

Я действительно не получить свою точку зрения здесь ... Что вы вывесили сгенерирует Params как 'Params [: s1] = 'Brand'' и' Params [: s2] =' Article'' (Brand и Статьи являются случайными значениями). Что вы хотите извлечь из этих параметров? – MrYoshiji

+0

@MrYoshiji Я хочу увидеть, например, в puts s2 not Article, но s2 ..... Итак, params [: s2] = s2 я хочу видеть – brabertaser19

+0

цикл, такой как 'params.each do | key, value |' будет позволяют вам получить доступ к 's2' с помощью слова 'key' – MrYoshiji

ответ

0

Возможно, я понял вас, но не уверен.

# let's say your params hash is like: 
params = { :action => 'show', :controller => 'articles', 
      :s1 => 'Article', :s2 => 'Brand', :s3 => 'Price', ... } 

brand_param = params.select{ |key, value| value == 'Brand' } 
# => { :s2 => 'Brand' } 
which_s_is_brand = brand_param.keys.first.to_s 
# => 's2' 
+0

да, хорошая работа! tnk – brabertaser19

+0

также: если мне нужно удалить первый символ (ы), лучше писать .to_s.slice! (0) .to_i или просто .to_i? – brabertaser19

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