@maxprof
Студент

Как правильно обратиться к данным (Rails)?

Здравствуйте, я делаю сайт, который позволит бронировать место в кинотеатре.
Есть сеансы и есть места.
Связи:
Place
belongs_to :session
Session
has_many :places
Когда я бронирую место - в БД сохраняется ID кинотеатра, сеанса и сам номер забронированого места.
Код контроллера сеанса
def session_places
@session = Session.find(params[:id])
end

Код вывода всех мест в кинотеатре, с сменой цвета для уже забронированого места
<h1>Show all session places</h1>
<% n = 0 %>
<% @session.number_of_session_places.times do |session| %>
<% n = n + 1 %>
<div class="place_block" style="<% if @session.places.place == n %>background-color: black <% end %>">
<%= n %>
</div>
<% end %>

Ошибка в месте
if @session.place.place
undefined method `place'.
это должен быть номер забронированого места в таблице(Places). Объясните как я могу добраться до него пожалуйста.
Стоит заметить, что в консоли я смог добраться до номера места так:
ssession.places.last.place
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
2ord
@2ord
Указана связь places
Sessionhas_many :places

Ошибка в месте
if @session.place.place
undefined method `place'.

а используешь place.

Стоит заметить, что в консоли я смог добраться до номера места так:
ssession.places.last.place
Бред какой-то.
session.places.last и есть экземпляр класса Place. У тебя получается place.place ?!
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
inf
@inf
DevOps Engineer
Сеансы содержат многие Места. Поэтому Места Сеансов ещё надо циклом обработать. Что-то вроде:
<% @session.number_of_session_places.times do |session| %>
    <% session.places.each do |p| %>
        Я место этого сеанса <%= p.place %>
    <% end %>
<% end %>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы