У меня небольшая проблема. Я ищу способ «добавить» столбец в запрос sql.
На самом деле я сортирую какой-то продукт из таблицы в таком порядке:
@prod = Table.find(:all,{:select=>["id, prod-id, cost"],:conditions=>["something = ? and somethingelse = ?","that thing","that other thing"],:order=>"id DESC"})
Затем я помещаю результат этого запроса в таблицу (html) с формой для добавления продукта в корзину.
Проблема возникает сейчас. В моей корзине товар такой:
cart: #<Cart:0x00000005ce0a68 @items=[[#<Table id: 6024, prod-id: 907509, cost: 33>]]>
И мне нужно добавить «столбец» к данным в моей корзине. Чтобы моя корзина выглядела так:
cart: #<Cart:0x00000005ce0a68 @items=[[#<Table id: 6024, prod-id: 907509, cost: 33, quantity: 1>]]>
Вот моя корзина:
class Cart attr_reader :items def initialize @items = [] @total_price = 0 end def add_product(product) @items << product product end def total_price @items.sum{ |item| item.prod_pxuttc} end def total_items @items.length end end
Мне не нужно добавлять какие-либо столбцы в мою таблицу. Потому что мне придется импортировать данные из другой исходной базы данных в свою таблицу, и я не могу изменить исходную базу данных. (Да, это глупый процесс, но именно этого хочет мой клиент)
Я совершенно не знаю, как назвать процесс, который мне нужно сделать.
[править]
Я нашел способ решить свою проблему. Создав вторую таблицу с тем же столбцом плюс количество столбцов с пустой строкой по умолчанию. Затем я выбираю свой продукт из первой таблицы, строку по умолчанию из второй таблицы и помещаю значение из продукта в переменную строки по умолчанию. Затем я помещаю свою новую переменную в свою корзину.
Это немного сложно, но это работает.