рельсы 3: необходимо выяснить, какие контроллеры необходимы для отношений HABTM - PullRequest
0 голосов
/ 02 апреля 2012

Я прочитал много документации, и по какой-то причине это все еще не ясно для меня.

У меня есть следующие настройки, таблица пользователей, таблица событий и таблица M2MEvents_Users определены через отношения HABTM как для пользователей, так и для событий.Когда Пользователь подписывается на Событие на Индексе событий или на странице Показа, должен ли он перейти к действию New в контроллере, созданном для Events_Users?Если это так, следует ли перейти к действию New, которое служит только для передачи параметров в действие Create?Или это должно идти прямо к действию Создать?

Будем весьма благодарны за любые разъяснения по передовому опыту!

Спасибо

1 Ответ

0 голосов
/ 02 апреля 2012

Я думаю, что один из способов сделать это может быть следующим:

Я бы принял событие, чтобы пользователь был вложенным ресурсом таким образом:

class Event < ActiveRecord::Base
    has_many :users
    accepts_nested_attributes_for :events 
end

Таким образом, выВы можете определить пользовательское действие внутри EventsController следующим образом:

class ApplicationController < ActionController::Base
  def add_user_to_event
    @event = Event.find(params[:event])
    @user = User.find(params[:user])
    @event.users << @user
    @event.save
  end
end

И в вашей форме вы будете иметь ссылку на это действие с текущим событием и пользователем в качестве параметра.

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