Rails TypeError: неявное преобразование Symbol в Integer с использованием вложенных атрибутов - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь добавить тег в магазин из формы создания магазина. Для этого я использую вложенные атрибуты, но получаю следующую ошибку:

Нет неявного преобразования символа в целое число

Извлеченный источник (около строки # 492):

   association.target
 else
   attribute_ids = attributes_collection.map { |a| a["id"] || a[:id] }.compact
   attribute_ids.empty? ? [] : association.scope.where(association.klass.primary_key => attribute_ids)
 end

Мой код:

Shop.rb

class Shop < ApplicationRecord
    has_many :shop_tags ,  dependent: :destroy
    has_many :tags, through: :shop_tags
    accepts_nested_attributes_for :tags
end

shops_controller.rb

  def create
    @shop = Shop.new(shop_params)
    # scaffold code 
  end

    def shop_params
      params.require(:shop).permit(
        :longitude, :latitude, :name, :description, :state, :address, 
        tags_attributes:[:name, :id])
    end

_form.html.erb

<%= form_with(model: @shop , local: true, scope: "shop") do |form| %>
  #the first part of the form
   <div class="form-group">
     <%= form.fields_for :tags_attributes do |form|  %>
          <%= form.label :name, %>
          <%= form.text_field :name ,class:'form-control' %>
     <% end %>
   </div>
<% end %>


Я попытался изменить field_for :tags_attributes для :tags или :tag, но я получил ошибку неоправданного параметра.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...