2016-05-25 5 views
-4

Я хочу реализовать OLA и UBER как реферальную систему. У меня есть таблица пользователей, таблица рефералов аккаунтов, и я добавляю подарки из бэкэнд. Я не понимаю, как использовать ассоциацию. Прошу вас, провери меня.Ruby on Rails Refer System

+0

Привет и добро пожаловать на SO. Вы должны показать нам, где вы застряли, присоединив код или что-то более конкретное, тогда «я не понимаю, как использовать ассоциацию». – floum

ответ

1

Вы должны сначала создать миграции для изменения базы данных для ассоциации

rails g migration AddFieldToTable 

Пример:

class AddUserToRef < ActiveRecord::Migration 
def change 
add_reference :refs, :user, index: true 
end 
end 

затем в контроллере при создании реф вам нужно добавить:

ref.user_id = user.id 

И тогда, если вы хотите найти ссылки для пользователей, все, что вам нужно сделать, это:

ref = Refs.where('user_id = ?' , user.id) 

Вот как я поступаю. Но вы можете использовать: has_many и: принадлежит, а

http://guides.rubyonrails.org/association_basics.html

Вот информация об этом.

Наслаждайтесь

EDIT

Пример для наличных денег:

Ref.create:

receiver = User.find(params[:receiver]) 
giver = current_user 
ref.receiver = receiver.id 
ref.giver = current_user.id 
if ref.save 
receiver.update_attribute(:cash, receiver.cash.to_i + 150) 
giver.update_attribute(:cash, giver.cash.to_i + 150) 
end 
+0

Спасибо .. но я хочу, чтобы структура модели для ссылки на код и дать некоторый cashback или подарок для реферера и реферала. –

+0

все, что вам нужно сделать, это создать связь с человеком .... Я приведу пример для cashback – Boltz0r

+0

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