Как изменить параметры в контроллере рельсов - PullRequest
0 голосов
/ 25 декабря 2018

Контроллер должен изменить session_id перед сохранением информации.

user.rb
    has_one :room

class Room < ApplicationRecord
    belongs_to :user, optional: true
end

Rooms_controller.rb

n_room = room_params
    n_room[:room][:session_id] = session.session_id
    respond_to do |format|
      binding.pry
      if current_user.create_room(params[:n_room])
        format.html { redirect_to '/rooms/#{@new_room.id}'}

Но это не работает, идентификатор_ сессии не сохраняется в строке номеров.

Вопрос 1: Как изменить 'rooms_params'?Вопрос 2: Как передать его модели комнаты в строке 'current_user.create_room'?Спасибо

1 Ответ

0 голосов
/ 25 декабря 2018

Определите таким образом

def create
  params[:room][:session_id] = 1
  respond_to do |format|
    if current_user.create_room(room_params)
      format.html { redirect_to '/rooms/', notice: 'Room was successfully created.' }
   else
     format.html { render :new }
   end
end

def room_params
  params.require(:room).permit(:name, :type, :session_id)
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...