У меня сейчас проблема, и я не уверен, что мне делать.Это касается отношений между таблицами и необходимости внешних ключей.
У меня есть две таблицы в моей базе данных;пользователи и игры.Пользователи включают всю информацию о пользователях (имя пользователя, адрес электронной почты, адрес, пароль и т. Д.). В игры входит вся информация об играх (имя, жанр, консоль user_id).Как вы, возможно, заметили, игровая таблица включает в себя идентификатор пользователя, чтобы связать отношения между ними, для которых каждой игре нужен ассоциированный пользователь.
То, что я хочу сделать, это в каждой игре show.html.erbНа этой странице у меня есть кнопка, которая должна отправить электронное письмо владельцу этой игры, чтобы сообщить им, что зарегистрированный в данный момент пользователь заинтересован в торговле этой игрой.
Мне интересно, как бы я это сделал?,Является ли user_id автоматически связать все данные, связанные с пользователями или только идентификатор.Если нет, то как бы я объявил электронную почту пользователей в качестве внешнего ключа, чтобы я мог позвонить по электронной почте для отправки пользователям?
Любая помощь будет принята с благодарностью.Спасибо
Кристофер Джонс
ОБНОВЛЕНИЕ
Эй, у меня было следующее в моем разделе show games_controller, и оно не работало.Он выдал следующую ошибку: неопределенный метод `email 'для" chris230391@googlemail.com ": String.
def show
@game = Game.find(params[:id])
respond_to do |format|
GameTrade.game_interest(@game.user.email).deliver
format.html { redirect_to root_url }
format.json { render json: @game }
end
end
Поэтому я изменил его на следующий, чтобы разбить проблему и выяснить, какая строкаэто сломалось, и это заявило, что блок был в строке 19, которая является строкой g = GameTrade.game_interest (email).Я получил следующую ошибку:
неопределенный метод `email 'для" chris230391@googlemail.com ": String
Есть идеи?код ниже
def show
@game = Game.find(params[:id])
respond_to do |format|
user = @game.user
email = user.email
g = GameTrade.game_interest(email)
g.deliver
format.html { redirect_to root_url }
format.json { render json: @game }
end
end
Ниже приведен код моего Game_trade.rb в разделе почтовой программы:
class GameTrade < ActionMailer::Base
default :from => "christopher@aol.com"
def game_interest(user)
@user = user
mail :to => user.email, :subject => "Game Interest"
end
end