#ruby #ruby_on_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, а необходим только текущий, чтобы каждый пост автоматически был привязан
к пользователю, который его создал.
Ответы
Ответ 1
например в контроллере перед сохранением отеля: @hotel.user_id = current_user.id можно и через hidden_field в форме, только этот вариант не секуренОтвет 2
Можно проще? @hotel = current_user.hotel.create(params)
Комментариев нет:
Отправить комментарий