Что такое лучший способ превратить следующий Рубиновый строку в массив (я использую рубин 1.9.2/Rails 3.0.11)Как преобразовать эту строку Ruby в массив?
Rails консоли:
>Item.first.ingredients
=> "[\"Bread, whole wheat, 100%, slice\", \"Egg Substitute\", \"new, Eggs, scrambled\"]"
>Item.first.ingredients.class.name
=> "String"
>Item.first.ingredients.length
77
Нужный выход:
>Item.first.ingredients_a
["Bread, whole wheat, 100%, slice", "Egg Substitute", "new, Eggs, scrambled"]
>Item.first.ingredients_a.class.name
=> "Array
>Item.first.ingredients_a.length
=> 3
Если я сделаю это, например:
>Array(Choice.first.ingredients)
Я получаю это:
=> ["[\"Bread, whole wheat, 100%, slice\", \"Egg Substitute\", \"new, Eggs, scrambled\", \"Oats, rolled, old fashioned\", \"Syrup, pancake\", \"Water, tap\", \"Oil, olive blend\", \"Spice, cinnamon, ground\", \"Seeds, sunflower, kernels, dried\", \"Flavor, vanilla extract\", \"Honey, strained/extracted\", \"Raisins, seedless\", \"Cranberries, dried, swtnd\", \"Spice, ginger, ground\", \"Flour, whole wheat\"]"]
Я уверен, что для решения этого вопроса должен быть определенный способ.
Для ясности это будет редактироваться в поле textarea в форме, поэтому должно быть сделано как можно безопаснее.
Лучший способ сделать это состоит в изменении 'ingredients' метода. –
Если вы не можете изменить метод ингредиентов, вы должны хотя бы опубликовать его, чтобы мы могли видеть, что он выводит. Переопределение это, безусловно, вариант, но мы должны увидеть, что это поможет. –