Разрешить один параметр и безопасные параметры по умолчанию? Сильные параметры

Я все еще изо всех сил пытаюсь понять сильные параметры и то, как именно они работают.

Во-первых, какие параметры на самом деле доступны по умолчанию (Правка: только что подтвердил, что кажется, ID есть, зачем это?), или они все считаются небезопасными до явного разрешения?

Также как мне разрешить один параметр. У меня есть единственный параметр идентификатора, который я хотел бы разрешить не из формы, а просто examples/:id

Существует множество примеров для нескольких параметров, например

params.require(: available_time).permit(:time_start)

я понимаю, что этот оператор разрешает time_start с хэшем available_time, но что, если доступное время не было многомерным и просто включало значение. Как бы я разрешил это

будут работать params[: available_time].require.permit или что-то еще?

Некоторые разъяснения были бы замечательны, спасибо


person Melbourne2991    schedule 01.11.2013    source источник


Ответы (1)


Если у вас есть только один параметр, вам не нужно использовать сильные параметры. Вы можете просто использовать обычный хэш при создании или обновлении вашего объекта:

def create
  MyRecord.create(value: params[:value])
end

Если у вас их несколько, и это начинает перегружать вас, то лучше использовать многомерную хэш-структуру.

person Peter Brown    schedule 01.11.2013