Итак, у меня есть приложение, вроде meetup.com, пользователи могут создавать события, комментировать события, искать события. Однако я бы хотел, чтобы пользователи нажимали кнопку «Посещать», а затем на странице событий/show.html.erb, которые пользователи посещают и т. д.Как добраться до RSVP до событий?
В настоящее время пользователь has_many: события и событие принадлежит _ пользователю:.
Таким образом, когда пользователь нажимает на понравившееся ему событие, он направляется на страницу events/show.html.erb. Я бы хотел, чтобы они могли видеть (количество людей, участвующих в этом событии), и иметь возможность щелкнуть по нему и посмотреть, кто именно посещает, и также иметь возможность самостоятельно нажать «Посещать мероприятие».
Как я могу это сделать?
тока show.html.erb событие
<%= render 'shared/header' %>
<div class="container">
<div class="row">
<div class="span3">
<%= render 'sidebar' %>
</div>
<div class="span5">
<div class="new_event_form">
<div class="line1"><h4>Create event</h4></div>
<%= form_for current_user.events.new, remote: true do |f| %>
<h5>Event title:</h5>
<div><%= f.text_field :title, placeholder: "Event title", required: true, autocomplete: :off %></div>
<h5>Event description:</h5>
<div><%= f.text_area :description, placeholder: "Event description", required: true, autocomplete: :off %></div>
<h5>Event date:</h5>
<div><%= f.text_field :date %></div>
<h5>Event location:</h5>
<div><%= f.text_field :location, placeholder: "Event location", required: true, autocomplete: :off %></div>
<div>
<%= f.submit "Create event", class: 'btn btn-primary' %>
<%= link_to "Cancel", '#', class: 'btn cancel_event' %>
</div><br />
<% end %>
</div>
<div class="events_list">
<!-- look in events/event.hmlt.erb -->
<h4><%= @event.title %> at <%= @event.location %></h4>
<p><%= @event.description %></p>
<h5><i class="fa fa-calendar-o"></i> <%= @event.date.strftime("%A, %B %d, %Y") %></h5>
<h5><i class="fa fa-clock-o"></i> <%= @event.time %></h5>
<h5><i class="fa fa-map-marker"></i> <%= @event.location %></h5>
</div>
<div class="name"></div>
<%= form_for [@commentable, @comment], remote: true do |f| %>
...........and so on...
Благодаря передовой!
Большое спасибо Kreeki, что идеально. Смогу ли я просто добавить has_and_belongs_to_many: события в user.rb и добавить столбец event_id в таблицу пользователя, чтобы получить правильные результаты? –
К сожалению, как работают реляционные базы данных, нет. Вам понадобится создать дополнительную таблицу в вашей базе данных под названием 'events_users' с полями' user_id' и 'event_id' (только таблица, без модели). Тогда это сработает. – Kreeki
это технически has_many: через ассоциацию тогда? то есть пользователь has_many: события, через: events_users? –