#ruby-on-rails
#ruby-on-rails
Вопрос:
Я в основном пытаюсь воспроизвести приведенный здесь пример (http://edgeguides.rubyonrails.org/getting_started.html ) с небольшим изменением имен. У каждого post
может быть несколько comment
, но у меня возникают некоторые проблемы при отправке комментариев. Страница с ошибкой при попытке создать сообщение
Самое близкое, о чем я мог подумать, это то, что у меня есть проверки для post
объектов, требующих присутствия title
поля. Я видел решение аналогичной проблемы, чтобы убедиться, что для метода в контроллере установлена правильная частная / общедоступная область, но это не похоже на случай.
Вот мой код для контроллера комментариев
class CommentsController < ApplicationController
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create(comment_params)
redirect_to post_path(@post)
end
private
def comment_params
params.require(:comment).permit(:commenter, :body)
end
end
Комментарии:
1. Также опубликуйте свои модели. У них должны быть перечисленные отношения, иначе ваш оператор @post.comments выдаст ошибку. Кроме того, покажите нам свою форму, чтобы мы знали, действительно ли отправляется post_id.
Ответ №1:
Ааааа, я только что понял свою проблему. Оказалось, что я поместил validates
его в ApplicationRecord, а затем comment.rb
унаследовал ApplicationRecord. Рефакторинг проверки post.rb
решает проблему.