Разрешаване на единичен параметър и безопасни параметри по подразбиране? Силни параметри

Все още се боря да разбера силните параметри и как точно работят.

Първо, кои параметри всъщност са налични по подразбиране (Редактиране: току-що потвърдено, че изглежда ID е, защо е това?), или всички те се считат за опасни до изрично разрешение?

Също така как да разреша разрешаването на един параметър. Имам единичен 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