@Alinka200

Как и какие параметры нужно передавать в форму, если маршрут вложенный?

Добрый вечер.

Есть юзер, к юзеру добавлена модель комментариев, ассоциации все прописаны правильно, маршрут вложенный (комментарии вложены в юреза).

При создании формы - пишет метод не существует.
Пишу вот таким образом:
<%= form_for ([@user, @user.comments.build])  do |f| %>
	<%= f.label :body %>
	<%= f.text_field :body %>
	<%= f.text_field :user_id %>
	<%= f.submit' %>
<% end %>


В контроллере коментариев такой вот код:
@user = User.find(params[:user_id])
    @comment = @user.comments.create(send_params)


Я понимаю так, что нам в форме нужно передать юзера первым параметром а вторым как-бе путь указать что у данного юзера есть ассоцияция с комментариями.

Я где-то ошибаюсь?
  • Вопрос задан
  • 232 просмотра
Пригласить эксперта
Ответы на вопрос 2
HighQuality
@HighQuality
☁ Ниндзя девелопер
Какая ошибка? Что в контроллере нового комментария? Как определил роуты? Почему в форме у кнопки сабмита лишняя кавычка ? )

<%= f.submit' %>
Ответ написан
Комментировать
@sumskoydmitry
Может быть в форме указать просто юзера и объект комментария?
form_for [@user, @comment]
Т.к в контроллере все равно создаешь его напрямую через юзера.
Ну это просто догадка, сам пока опытом не блещу, но на таких вопросах дополнительный опыт набивается как раз.

И зачем в форме это поле? <%= f.text_field :user_id %>
Если для получения юзера в контроллере, так он и так придет же в параметрах.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы