Добавить существующее has_many (current_user) при сохранении записи - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь сохранить новую запись и при сохранении этой записи связать с ней has_many.

building.rb

has_many :users

user.rb

belongs_to :building

building_controller

def new
    @building = Building.new(user_ids: current_user.id)
  end

...
def building_params
      params.require(:building).permit(:address, :user_id, :user_ids)
    end

Когда я сохраняю, запись не добавляет current_user в новую запись здания.

1 Ответ

1 голос
/ 29 января 2020

Есть несколько разных способов связать их. В действии create (вместо действия new) вы можете сделать что-то вроде этого ...

  @building = Building.new(building_params)
  @building.users << current_user

  if @building.save
    # do something
  else
    # do something else
  end

Имейте в виду, что @building в действии new используется только для построить форму, тогда как @building в действии создания используется для сохранения записи с атрибутами, предоставленными из формы.

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