Rails4 полиморфный, как использовать в HTML-странице? - PullRequest
0 голосов
/ 10 июня 2018

Я использовал Rails-4.2.8.

Теперь у меня есть question article comments моделей, у вопроса много комментариев, или у одной статьи много комментариев, но теперь как я могу отправитьcomment в question show.html.erb?

Мой models следующим образом:

#comment.rb
class Comment < ActiveRecord::Base
  belongs_to :commentable, :polymorphic => true
end

#question.rb
class Question < ActiveRecord::Base
   has_many :comments, :as => :commentable, :dependent => :destroy
 end

Мой question show.html.erbследующим образом:

<% @comment = @question.comments.build  %>
<%= form_for([@comment.commentable,@comment]) do |f| %>
    <%= f.text_area :content,class: "editormd-markdown-textarea" %>
    <%= f.submit "submit", class: "btn btn-primary pull-right" %>
<% end %>

My questions_controller.rb следующим образом:

def create
   Question.find(params[:question_id]).comments.build
end

My roots.rb следующим образом

resources :questions do
    resources :comments
  end

Но я получил эту ошибку, может кто-нибудь дать мне подсказку, что где у меня были неправильные коды?Большое спасибо!

Routing Error
uninitialized constant CommentsController

enter image description here

А также:

Request
Parameters:

{"utf8"=>"✓",
 "authenticity_token"=>"/MIczvX+UVpMnKx9K2/7cTmoiM1oDcYZO63RE10mDAlnRMJRukFq/2t24yBqfDIg8D1/Midk3FU1IOaTW4twuA==",
 "comment"=>{"content"=>"adfadfadfadfadfdafadf"},
 "comment-editormd-html-code"=>"<p>adfadfadfadfadfdafadf</p>\r\n",
 "commit"=>"Submit",
 "question_id"=>"1"}

1 Ответ

0 голосов
/ 10 июня 2018

попробуйте следующее исправление

<%= form_for [@comment.commentable,@comment], url: "#{polymorphic_path(commentable)}/comments" do |f| %>
...