2016-06-07 2 views
0

Итак, я создал систему продуктов и корзину для покупок в приложении для своих рельсов. Цель состоит в том, чтобы связать сохраненные продукты с тележкой с пользовательской моделью.Как сохранить идентификатор продукта в столбце модели пользователя

Я пытаюсь найти решение о том, как я могу сохранить идентификаторы предметов из корзины от каждого current_user до столбца из пользовательской модели?

Таким образом, на моей странице просмотра корзины есть список всех добавленных товаров в корзине, и я хочу добавить кнопку сохранения, которая сохранит эти продукты по их идентификаторам. Например, если current_user рекламирует три продукта в корзине с идентификаторами 1,2,3 и нажимает кнопку «Сохранить» в корзине, я хочу сохранить эти три идентификатора целыми числами в столбце «добавленные продукты» current_user. Это часть моего cart_controller:

def additems 
    id = params[:id] 
    if session[:cart] then 
     cart = session[:cart] 
    else 
     session[:cart] = {} 
     cart = session[:cart] 
    end 
    if cart[id] then 
     cart[id] = cart[id] + 1 
    else 
     cart[id] = 1 
    end 
    redirect_to :action => :index 
    end 

и часть моего контроллера продукта (генерируется через эшафот):

class ItemsController < ApplicationController 
    before_action :set_item, only: [:show, :edit, :update, :destroy] 

    respond_to :html, :json, :js 

    def index 
    @products = Product.where(availability: true) 
    end 

    def show 
    end 

    def new 
    @product = Product.new 
    end 

    def edit 
    end 

    def create 
    @product = Item.new(item_params) 
    @product.save 
    respond_with(@product) 
    end 

Возможно ли это достичь?

(я использую стандартную установку DEViSE, если это какой-либо помощи)

ответ

0

Как вы хотите сохранить несколько элементов в одном столбце «addedproducts»? Я думаю, что лучшим решением является добавление внешнего ключа в корзину. Создание корзины принадлежит пользователю. И пользователь имеет много телег. Точно так же вы, вероятно, создали модель Cart и модель Item. При правильной взаимосвязи между ними ... (Если вы это сделаете, вам придется добавить новую миграцию в модель корзины со ссылкой на пользователя.)

+0

Спасибо! Хорошо, но что, если я хочу сохранить три элемента в разных столбцах из модели пользователя? –

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