Rails 5 - форма не обновляется - параметр отсутствует или значение пуст: tag

В моем приложении rails 5 у меня есть форма (ниже), которая загружается правильно, но не обновляется. Отсутствие уведомления об ошибках (должно пройти все проверки (только при наличии = true)).

ошибка

param отсутствует или значение пустое: tag

указывая на метод tag_params.

Вся помощь, предложения, улучшение, упрощение приветствуются!

введите описание изображения здесь

контроллер

def update
  tagable = detect_tagable
  @tag = tagable.tags.find(params[:id])
  @tag.update(tag_params)
  render '_tag_update'
end

def tag_params
  params.require(:tag).permit(:content, :location, :tagtype_id, annotation_attributes: { annotation_ids:[] }, document_attributes: { document_ids:[] })
end

Маршруты

Rails.application.routes.draw do
  root 'dashboard#index'
  devise_for :users
  resources :users, :documenttypes, :tagtypes, :business_partners

  resources :documents do
    resources :comments, :tags
    get "pdf", on: :member 

  end

  resources :annotations do
    resources :comments, :tags
    get "pdf", on: :member

end

get "annotations/:id/annotate" => "annotations#annotate", as: 'annotate'

Форма :

<%= simple_form_for [@tag.tagable, @tag], html: { class: 'form-horizontal', multipart: true },
    wrapper: :horizontal_form,
    wrapper_mappings: {
        check_boxes: :horizontal_radio_and_checkboxes,
        radio_buttons: :horizontal_radio_and_checkboxes,
        boolean: :horizontal_boolean
      } do |f| %>

    <%= f.error_notification %>

    <%= f.input :content, placeholder: 'Tagged content'%>

    <%= f.association :tagtype, prompt: 'Select tag type', :collection => Tagtype.active.order(:name).where(:documenttype => @tag.tagable.documenttype_id) %>

    <%= f.input :location, prompt: 'add as x1, y1, x2, y2' %>

    <%= f.button :submit %>

<% end -%>

Сервер Rails возвращает это (как представляется, выполняется)

Started PATCH "/ аннотации / 6 / tags / 46" for :: 1 at 2016-10-15 16:15:09 +0200 Обработка тегамиController # update как HTML Параметры: {"authenticity_token" => "7JMnYxy00zQXLIEfETSGWcMxPQFwNMYRJRyCeL9RMAQYtLygrf3UjamlZQdR / ajgTY2wH6DKOTeLE6yAUqbc6w == "," annotation_id "=>" 6 "," id "=>" 46 "} Пользовательская загрузка (1,8 мс) SELECT" users ". * FROM" users "WHERE" users "." id "= $ 1 ORDER BY" пользователи "." id "ASC LIMIT $ 2 [[" id ", 6], [" LIMIT ", 1]] Загрузка аннотаций (1.1ms) SELECT" аннотации ". * FROM" аннотации "ГДЕ" аннотации "." id "= $ 1 LIMIT $ 2 [["id", 6], ["LIMIT", 1]] Загрузка тегов (1.0ms) SELECT "tags". * FROM "tags" ГДЕ "теги". "Tagable_id" = $ 1 AND "tags" "tagable_type" = $ 2 AND "tags". id = = 3 3 LIMIT $ 4 [["tagable_id", 6], ["tagable_type", "Annotation"], ["id", 46], ["LIMIT", " 1]] (0.2ms) BEGIN Tagtype Load (0.5ms) SELECT «tagtypes». * FROM «tagtypes» WHERE «tagtypes». «Id» = $ 1 LIMIT $ 2 [[«id», 5], [«LIMIT», 1]] (0.2ms) COMMIT Rendering tags / _tag_update.html.erb в макетах / приложении Загрузка аннотаций (0.4ms) SELEC T "аннотации". * FROM "аннотации" WHERE "аннотации". "Id" = $ 1 LIMIT $ 2 [["id", 6], ["LIMIT", 1]] Tagtype Load (1.0ms) SELECT "tagtypes". * FROM "tagtypes" WHERE "tagtypes". "Active" = $ 1 AND "tagtypes". "Documenttype_id" = 2 ORDER BY "tagtypes". "Name" ASC [["active", true]] Rendered tags / _tag_update.html .erb в layouts / application (43.0ms) Rendered shared / _menu.html.erb (2.9ms) Завершено 200 OK в 220ms (Просмотров: 203.3ms | ActiveRecord: 6.1ms)

ruby-on-rails,

0

Ответов: 0

Rails 5 - форма не обновляется - параметр отсутствует или значение пуст: tag

В моем приложении rails 5 у меня есть форма (ниже), которая загружается правильно, но не обновляется. Отсутствие уведомления об ошибках (должно пройти все проверки (только при наличии = true)).

ошибка

param отсутствует или значение пустое: tag

указывая на метод tag_params.

Вся помощь, предложения, улучшение, упрощение приветствуются!

введите описание изображения здесь

контроллер

def update
  tagable = detect_tagable
  @tag = tagable.tags.find(params[:id])
  @tag.update(tag_params)
  render '_tag_update'
end

def tag_params
  params.require(:tag).permit(:content, :location, :tagtype_id, annotation_attributes: { annotation_ids:[] }, document_attributes: { document_ids:[] })
end

Маршруты

Rails.application.routes.draw do
  root 'dashboard#index'
  devise_for :users
  resources :users, :documenttypes, :tagtypes, :business_partners

  resources :documents do
    resources :comments, :tags
    get "pdf", on: :member 

  end

  resources :annotations do
    resources :comments, :tags
    get "pdf", on: :member

end

get "annotations/:id/annotate" => "annotations#annotate", as: 'annotate'

Форма :

<%= simple_form_for [@tag.tagable, @tag], html: { class: 'form-horizontal', multipart: true },
    wrapper: :horizontal_form,
    wrapper_mappings: {
        check_boxes: :horizontal_radio_and_checkboxes,
        radio_buttons: :horizontal_radio_and_checkboxes,
        boolean: :horizontal_boolean
      } do |f| %>

    <%= f.error_notification %>

    <%= f.input :content, placeholder: 'Tagged content'%>

    <%= f.association :tagtype, prompt: 'Select tag type', :collection => Tagtype.active.order(:name).where(:documenttype => @tag.tagable.documenttype_id) %>

    <%= f.input :location, prompt: 'add as x1, y1, x2, y2' %>

    <%= f.button :submit %>

<% end -%>

Сервер Rails возвращает это (как представляется, выполняется)

Started PATCH "/ аннотации / 6 / tags / 46" for :: 1 at 2016-10-15 16:15:09 +0200 Обработка тегамиController # update как HTML Параметры: {"authenticity_token" => "7JMnYxy00zQXLIEfETSGWcMxPQFwNMYRJRyCeL9RMAQYtLygrf3UjamlZQdR / ajgTY2wH6DKOTeLE6yAUqbc6w == "," annotation_id "=>" 6 "," id "=>" 46 "} Пользовательская загрузка (1,8 мс) SELECT" users ". * FROM" users "WHERE" users "." id "= $ 1 ORDER BY" пользователи "." id "ASC LIMIT $ 2 [[" id ", 6], [" LIMIT ", 1]] Загрузка аннотаций (1.1ms) SELECT" аннотации ". * FROM" аннотации "ГДЕ" аннотации "." id "= $ 1 LIMIT $ 2 [["id", 6], ["LIMIT", 1]] Загрузка тегов (1.0ms) SELECT "tags". * FROM "tags" ГДЕ "теги". "Tagable_id" = $ 1 AND "tags" "tagable_type" = $ 2 AND "tags". id = = 3 3 LIMIT $ 4 [["tagable_id", 6], ["tagable_type", "Annotation"], ["id", 46], ["LIMIT", " 1]] (0.2ms) BEGIN Tagtype Load (0.5ms) SELECT «tagtypes». * FROM «tagtypes» WHERE «tagtypes». «Id» = $ 1 LIMIT $ 2 [[«id», 5], [«LIMIT», 1]] (0.2ms) COMMIT Rendering tags / _tag_update.html.erb в макетах / приложении Загрузка аннотаций (0.4ms) SELEC T "аннотации". * FROM "аннотации" WHERE "аннотации". "Id" = $ 1 LIMIT $ 2 [["id", 6], ["LIMIT", 1]] Tagtype Load (1.0ms) SELECT "tagtypes". * FROM "tagtypes" WHERE "tagtypes". "Active" = $ 1 AND "tagtypes". "Documenttype_id" = 2 ORDER BY "tagtypes". "Name" ASC [["active", true]] Rendered tags / _tag_update.html .erb в layouts / application (43.0ms) Rendered shared / _menu.html.erb (2.9ms) Завершено 200 OK в 220ms (Просмотров: 203.3ms | ActiveRecord: 6.1ms)

00Рубин на рельсах,
Похожие вопросы