Вот что мой PARAMS выглядеть,Сильных PARAMS рельсов 4 разрешающего PARAMS
{
:project_id => "1",
:ticket => {:name => "Ticket1"}
}
Как добавить PROJECT_ID разрешенного Params?
Контроллер
params.require (: билет) .permit (: имя)
Вот что мой PARAMS выглядеть,Сильных PARAMS рельсов 4 разрешающего PARAMS
{
:project_id => "1",
:ticket => {:name => "Ticket1"}
}
Как добавить PROJECT_ID разрешенного Params?
Контроллер
params.require (: билет) .permit (: имя)
Вы, вероятно, необходимо добавить это как скрытый атрибут в вашей форме, например, так:
<input type="hidden" name="ticket[project_id]" value="<%= @ticket.project_id %>" />
Тогда в контроллере вы можете сделать это:
params.require(:ticket).permit(:name,:project_id)
Вот полезная ссылка: https://github.com/rails/strong_parameters
Вот что я сделал
я добавил еще одну функции для проекта PARAMS
def ticket_group_params
params.require(:ticket_group).permit(:name)
end
def project_params
params.permit(:project_id)
end
Тогда я просто объединить результаты только для создания действия например.
# POST /ticket_group
# POST /ticket_group.json
def create
@ticket_group = TicketGroup.new(ticket_group_params.merge(project_params))
respond_to do |format|
def ticket_params
name_params = params.require(:ticket).permit(:name)
name_params.merge(params.permit(:project_id))
end
# => {name: 'val', project_id: 'val'}
или
def ticket_params
params.require(:ticket).permit(:name).tap do |_params|
_params[:project_id] = params.permit(:project_id)
end
end
# => {name: 'val', project_id: 'val'}
или, может быть
def ticket_params
params.permit(:project_id, ticket: [:name])
end
# => {project_id: 'val', ticket: {name: 'val'}}
прохладно благодаря плохо проверить его и пометить его, когда ив испытания :) – Francois