Моих сообщений об ошибке "неверное числе аргументов (0 для 1)"Rails: неверное число аргументов (0 для 1) для .destroy
для этой линии: @post = Post.destroy в моем
PostsController#destroy
у меня есть модель, которая post.rb
Мои сообщения контроллер здесь
class PostsController < ApplicationController
def new
@post = Post.new
end
def index
@posts = Post.all
end
def create
@post = Post.new(post_params)
if @post.save
redirect_to @post
else
render 'new'
end
end
def post_params
params.require(:post).permit(:title, :text)
end
def show
@post = Post.find(params[:id])
end
def edit
@post = Post.find(params[:id])
end
def update
@post = Post.find(params[:id])
if @post.update(params[:post].permit(:title, :text))
redirect_to @post
else
render 'edit'
end
end
def destroy
@post = Post.find(params[:id])
@post = Post.destroy
redirect_to posts_path
end
end
на мой взгляд, у меня есть этот код:
<%= link_to 'Destroy', post_path(post),
method: :delete, data: { confirm: 'Are you sure?' } %>
Это то, что он говорит, что я для параметров в запросе
{"_method"=>"delete",
"authenticity_token"=>"Pzsnxv8pt+34KIKpYqfZquDv3UpihkINGSJxomMNsW4=",
"id"=>"3"}
Что, черт возьми, я делаю неправильно ??
Хорошо, вопрос, хотя зачем мне даже нужно делать Post.find до этого, если я только что прошел .destroy: id? – camdixon
Ну, вам не нужно его искать. Просто передайте идентификатор и уничтожьте его. – MurifoX