Страницы

Поиск по вопросам

пятница, 5 июля 2019 г.

Ассоциации Rails - Автоматический выбор текущего пользователя как автора поста

Доброго времени суток! Подскажите, пожалуйста, имеются две модели: class User < ActiveRecord::Base has_many :hotels end и class Hotel < ActiveRecord::Base belongs_to :user end Миграция: class AddUserIdToHotels < ActiveRecord::Migration def change add_column :hotels, :user_id, :integer end end Форма создания нового поста про отель: <%= simple_form_for(@hotel, :html => {:multipart => true}) do |f| %> <%= f.input :title %> <%= f.input :star_rating, collection: 1..5 %> <%= f.input :room_description, as: :text %> <%= f.input :price_for_room %>

Address

<%= f.select :hotels_country, priority: ["Ukraine", "Russia", "Europe"] %> <%= f.input :state %> <%= f.input :city %> <%= f.input :street %> <%= f.input :breakfast_included %> <%= f.input :photo, as: :file %> <%= f.association :user %> <%= f.button :submit, class: "btn btn-large btn-primary" %> <% end %> Вопрос: как реализовать, чтобы при создании поста про новый отель в таблице hotels в поле user_id был текущий пользователь? При выше приведенной реализации получается, что в строке <%= f.association :user %> есть выпадающий список всех пользователей из таблицы users, а необходим только текущий, чтобы каждый пост автоматически был привязан к пользователю, который его создал.


Ответ

например в контроллере перед сохранением отеля: @hotel.user_id = current_user.id можно и через hidden_field в форме, только этот вариант не секурен

Комментариев нет:

Отправить комментарий