gpt4 book ai didi

ruby-on-rails - Ruby Post Controller中的语法错误

转载 作者:行者123 更新时间:2023-12-03 08:30:35 25 4
gpt4 key购买 nike

首先,我是 ruby 的新手。我正在从头开始建立一个论坛,以乐在其中。

完成授权工作,可以发布具有原始内容的新主题,但是我在发布(回复)控件方面遇到了问题。

这是我得到的错误:

SyntaxError in PostsController#new

/Users/mlegacy/Documents/RubyProjects/forum/app/controllers/posts_controller.rb:48: syntax
error, unexpected keyword_end, expecting $end

这是我的 Controller 代码:
class PostsController < ApplicationController

def index
@posts = Post.order("sticky desc")
end

def show
@post = Post.find(params[:id])
end

def new
@post = Post.new
end

def create
@post = Post.new(post_params)
@post.user = current_user
if @post.save
redirect_to topics_url, notice: "Post created."
else
render :new
end
end

def edit
@post = Post.find(params[:id])
end

def update
@post = Post.find(params[:id])
redirect_to topics_url, notice: "Updated post."
else
render :edit
end
end

def destroy
@post = Post.find(params[:id])
@post.destroy
redirect_to topics_url, notics: "Post removed."
end

private

def post_params
params.require(:posts).permit(:content, :created_at, :updated_at)
end
end

而我的模型:
class Post < ActiveRecord::Base
belongs_to :topic
end

然后是topiC#show View 和posts#new View :

主题#显示:
<h1><%= @topic.name %></h1>
<p><%= @topic.post_content %></p>

<% @topic.posts.each do |post| %>
<div class="post">
<%= post.content %>
</div>
<% end %>

<p><%= link_to "Post new reply", posts_new_path %></p>

<p><%= link_to "Back to topics", topics_path %></p>

帖子#新
<h1>New Post</h1>

<%= render 'form' %>

最佳答案

您错过了更新操作中的“如果”。

def update
if @post = Post.find(params[:id])
redirect_to topics_url, notice: "Updated post."
else
render :edit
end
end

关于ruby-on-rails - Ruby Post Controller中的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17505934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com