Новичок в Ruby здесь, я успешно создал html-форму, в которой пользовательские "проектные" модели могут "следовать" (или, как я сказал это "pfollow") другим "заводским" моделям. Единственная проблема заключается в том, что созданный мной код не работает, когда пользователи пытаются «отследить» несколько заводов в одной форме, что вынуждает пользователя нажать «отправить» несколько раз для большего количества заводов. Если пользователь выбирает более одного растения из поля выбора одновременно, моя модель «проекта» и мой контроллер «предварительного отношения» задыхаются на входе, который представляет собой массив, а не ожидаемое единственное целое число (иначе, «pfollower_id») от завода, который используется контроллером «prelationships» для действия создания).
Как я могу научить мое приложение принимать массив "pfollower_id (s)", а затем создавать несколько предустановок?
Вот ошибка:
undefined method `id' for #<Array:0x26abe70>
app/models/project.rb:35:in `pfollow!'
app/controllers/prelationships_controller.rb:6:in `create'
Request
Parameters:
{"utf8"=>"✓",
"authenticity_token"=>"NKqa1f0M2yPLQDHbRLnxl3SiwBeTus/1q1hpZjD7hgY=",
"prelationship"=>{"pfollower_id"=>["4",
"5"]},
"project_id"=>"90",
"commit"=>"Pfollow"}
Мой контроллер "prelationships":
class PrelationshipsController < ApplicationController
def create
@project = Project.find(params[:project_id])
@plant = Plant.find(params[:prelationship][:pfollower_id])
@project.pfollow!(@plant)
respond_to do |format|
format.html { redirect_to @project }
format.js
end
end
end
И подозреваемый "следите!" метод в моей модели, который указывает трассировка, также виновен:
def pfollow!(pfollowed)
prelationships.create!(:pfollowed_id => pfollowed.id)
end
Форма работает нормально, поэтому только этот контроллер и метод не могут обрабатывать массив pfollower_ids.
Я отчаянно нуждаюсь в помощи! Любое и все направление было бы очень полезно.