рельсы хранят адрес электронной почты текущего пользователя в базе данных при отправке формы - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть столбец в моей базе данных, который называется «электронная почта».Я хочу сохранить адрес электронной почты текущего зарегистрированного пользователя в этом столбце, когда они отправляют определенную форму.

Сначала я подумал, что должен написать что-то в html, чтобы захватить адрес электронной почты текущего пользователя и скрыть его вгде-то, но я понял, что это, вероятно, плохая идея, так как любой мог бы изменить html, чтобы поместить туда любой адрес электронной почты, который он хочет.

Так что мой вопрос, я бы пошел об этом в контроллере?Если так, как бы я поступил так?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

разобрался

@request.email = current_user.email @request.save

0 голосов
/ 25 февраля 2019

Я называю эту другую модель как Article (вы можете использовать свою)

В этой таблице есть столбец с именем user_id вместо адреса электронной почты

 Class User
   has_many :articles
 end

 Class Article
   belongs_to :user
 end


 class ArticlesController
   def create
     @article = current_user.articles.new(article_params)
     @article.save
   end

  def article_params
    params.require(:article).permit(:field1, :field2)
  end

 end

Если вы делаете что-то подобноетогда автоматически user_id будет сохранен в этой таблице.Поэтому вам будет легко получить все статьи, принадлежащие этому пользователю.

user = User.first
user.artciles # you will get all articles belonged to that user

article = Article.first
article.user # you will get user of that article

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...