コメント機能を実装してみたのですが何故か全く反応しません。記述は以下のようになっております。
どなたかご存知の方がいらしたらご教授くださいませ。
### ターミナル
Started POST "/messages" for ::1 at 2021-08-26 22:59:28 +0900
Processing by MessagesController#create as HTML
Parameters: {"authenticity_token"=>"meCSJ3ikWxhnmzzlTYYaM7+sNd/xAGr8KJvXQGZz2rAjNEi9xeBWGyCpSdNRVLdCQPSenj0Ycfuo2wZVgquD2g==", "message"=>{"text"=>"aaaaa"}, "button"=>""}
No template found for MessagesController#create, rendering head :no_content
Completed 204 No Content in 2ms (ActiveRecord: 0.0ms | Allocations: 510)
### view
<%= form_with(model: @message,url: messages_path ,local: true) do |f| %>
<%= f.text_area :text,class:"comment-text" %> <p class="comment-warn"> 相手のことを考え丁寧なコメントを心がけましょう。 <br> 不快な言葉遣いなどは利用制限や退会処分となることがあります。 </p> <%= f.button "コメントする",type:"submit" ,class:"comment-btn" do %> <%= image_tag "comment.png" ,class:"comment-flag-icon" ,width:"20",height:"25"%> <span>コメントする<span> <% end %> <div id='messages'>
<% @messages.reverse_each do |message| %>
<p><%= message.text %></p>
<% end %>
</div>
<% end %>
コントローラー
def create
@message = Message.new(text: params[:message][:text])
if @message.save
ActionCable.server.broadcast 'message_channel', content: @message
end
end
def show
@company = Company.find(params[:id])
@messages = Message.all
@message = Message.new
end
javascripts
received(data) {
const html = <p>${data.content.text}</p>
;
const messages = document.getElementById('messages');
const newMessage = document.getElementById('message_text');
messages.insertAdjacentHTML('afterbegin', html);
newMessage.value='';
}
channnel
def subscribed
stream_from "message_channel"
end
以上となります。
よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。