Унаследованные_ресурсы альтернативный метод создания запрещенные атрибуты

У меня есть два метода создания (может быть, лучше структурированы, но плохо знакомы с Legited_resources)

В основном, я хочу перенаправить на другую страницу после создания, я получаю ошибку ForbiddenAttributes, используя один метод, но не оригинальное действие Create, я предполагаю, что есть какой-то особый способ использовать IH, но я озадачен этим,

Во втором действии мне нужно вручную назначить параметры - я предполагаю, что мне нужно сделать это способом IH, эта строка - то место, где она разрывается, поэтому вопрос в том, как IH достигает этого без ошибки?

def create
  if can? :create, LeaveRequest
    create! { leave_requests_url }
  end  
end

def manage_create
  @leave_request = LeaveRequest.new(params[:leave_request])
  if can? :create, LeaveRequest
    create! { manage_leave_requests_url }
  end  
end

def permitted_params
  {:leave_request => params.fetch(:leave_request, {}).permit(:user_id, :controller, :manager_id, :part_day, :comment, :selected_dates, :status, :leave_type_id, leave_dates_attributes: 
      [:id, :leave_request_id, :hours, :date_requested, :_destroy])}
end

Маршрут определяется как

match 'manage_create', to: 'leave_requests#manage_create', as: :manage_create_leave_request, via: [:post]

Я использую IH 1.4.1

1 ответ

Мне нужно было добавить полный список параметров в мою функцию manage_create - я понятия не имею, почему она не использует существующий метод разрешенный_парамс.

  @leave_request = LeaveRequest.new(params[:leave_request].permit(:user_id, :controller, :manager_id, :part_day, :comment, :selected_dates, :status, :leave_type_id, leave_dates_attributes: 
      [:id, :leave_request_id, :hours, :date_requested, :_destroy]))
Другие вопросы по тегам