Fields_for Polymorphic: неявное преобразование символа в целое число - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь создать Группу и вложенную ассоциацию (Wathlist, polymorphic), но я получил эту ошибку:

нет неявного преобразования Symbol в Integer

Модель

class Group < ApplicationRecord
  belongs_to :user
  has_many :watchlists
  accepts_nested_attributes_for :watchlists, allow_destroy: true

end

class Watchlist < ApplicationRecord
  belongs_to :group
  belongs_to :watchable, polymorphic: true
end

Контроллер

def create
    @group = Group.new(group_params)  <---- ERROR HERE
    @group.user = current_user

  end


# Never trust parameters from the scary internet, only allow the white list through.
    def group_params
      params.require(:group).permit(:name,
        watchlists_attributes: [:watchable_type, :watchable_id]
      )
    end

Вид

  <%=form_for(Group.new) do |f| %>
          <div class="form-group">
            <label for="listlabelname">Create new list</label>
            <%=f.text_field :name, class:"form-control", placeholder: "Enter a name"%>
              <%= f.fields_for :watchlists_attributes do |w| %>
                  <%=w.hidden_field :watchable_type, value: @watchable.class %>
                  <%=w.hidden_field :watchable_id, value: @watchable.id %>
              <% end %>

          </div>
          <%=f.submit "Create list", class:"btn btn-primary"%>
        <% end %>

enter image description here

1 Ответ

0 голосов
/ 18 февраля 2019

решено добавление: списки наблюдения, Watchlist.new

<%= f.fields_for :watchlists, Watchlist.new do |w| %>
   <%=w.hidden_field :watchable_type, value: @watchable.class %>
   <%=w.hidden_field :watchable_id, value: @watchable.id %>
<% end %>
...