Унаследованные_ресурсы альтернативный метод создания запрещенные атрибуты
У меня есть два метода создания (может быть, лучше структурированы, но плохо знакомы с 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]))