я получаю эту ошибку: https://imgur.com/a/Mrvkm2Z Я могу создавать комментарии в своей записи курса, но не могу редактировать их из-за этой ошибки
Я не знаю, как решить эту проблему, яискал везде, но ничего, что помогло бы мне решить проблему
РЕДАКТИРОВАТЬ вот мой код в контроллере комментариев
class CommentsController < ApplicationController
before_action :set_comment, only: [:show, :edit, :update, :destroy]
# GET /comments
# GET /comments.json
def index
@comments = Comment.all
end
# GET /comments/1
# GET /comments/1.json
def show
end
# GET /comments/new
def new
@course = Course.find(params[:course_id])
@comment = @course.comments.build
end
# GET /comments/1/edit
def edit
end
# POST /comments
# POST /comments.json
def create
@course = Course.find(params[:course_id])
@comment = @course.comments.build(comment_params)
respond_to do |format|
if @comment.save
format.html { redirect_to @course, notice: 'Comment was successfully created.' }
format.json { render :show, status: :created, location: @comment }
else
format.html { render :new }
format.json { render json: @comment.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /comments/1
# PATCH/PUT /comments/1.json
def update
respond_to do |format|
if @comment.update(comment_params)
format.html { redirect_to @comment, notice: 'Comment was successfully updated.' }
format.json { render :show, status: :ok, location: @comment }
else
format.html { render :edit }
format.json { render json: @comment.errors, status: :unprocessable_entity }
end
end
end
# DELETE /comments/1
# DELETE /comments/1.json
def destroy
@comment.destroy
respond_to do |format|
format.html { redirect_to comments_url, notice: 'Comment was successfully destroyed.' }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_comment
@comment = Comment.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def comment_params
params.require(:comment).permit(:title, :body)
end
end
, поэтому я думаю, что проблема может быть в создании иНовый, я не знаю, как связать модели с одним ко многим, я смог создать комментарии в моем курсе, но когда я хотел редактировать 1 из комментариев, эта ошибка и в каждом комментарии, который я нажимаю, чтобы изменить, отправляет меня ктот же URL с тем же идентификатором ошибки = 3 не найден
Также это мой HTML-код (может быть, ошибки могут быть и там):
<%= form_for @comment, :url => course_comments_path(params[:course_id]) do |f| %>
<% if comment.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(comment.errors.count, "error") %> prohibited this comment from being saved:</h2>
<ul>
<% comment.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :title %>
<%= f.text_field :title, id: :comment_title %>
</div>
<div class="field">
<%= f.label :body %>
<%= f.text_area :body, id: :comment_body %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
и show.html для моегокурсы:
<% if current_user%>
<p id="notice"><%= notice %></p>
<p>
<h1><%= @course.name %></h1>
</p>
<p>
<h2>Comentarios del curso:</h2>
</p>
<p>
<% @course.comments.each do |comment| %>
<h3><%= comment.title %></h3>
<p><%= comment.body %></p>
<%if current_user.admin%>
<%= link_to 'Edit', edit_course_comment_path(@course) %>
<%end%>
<%end%>
</p>
<%if current_user.admin %>
<%= link_to 'Postear', new_course_comment_path(@course)%>
<%= link_to 'Edit', edit_course_comment_path%>
<%= link_to 'Back', authenticated_root_path %>
<%else%>
<%= link_to 'Postear', new_course_comment_path(@course) %>
<%= link_to 'Back', authenticated_root_path %>
<%end%>