加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails:如何实现帖子视图的数量?

发布时间:2020-12-17 02:14:45 所属栏目:百科 来源:网络整理
导读:有什么问题?: 我正在创建一个通用博客,并致力于创建基本功能. 问题是视图(有多少人看过特定的帖子)没有正确显示. 艺术状态: 此时我有两个控制器/模型:发布和评论.我将为您提供我的架构,以帮助您更好地了解情况. create_table "comments",:force = true d
有什么问题?:

我正在创建一个通用博客,并致力于创建基本功能.
问题是视图(有多少人看过特定的帖子)没有正确显示.

艺术状态:

此时我有两个控制器/模型:发布和评论.我将为您提供我的架构,以帮助您更好地了解情况.

create_table "comments",:force => true do |t|
t.string   "name"
t.text     "body"
t.integer  "like"
t.integer  "hate"
t.integer  "post_id"
t.datetime "created_at",:null => false
t.datetime "updated_at",:null => false
end

add_index "comments",["post_id"],:name => "index_comments_on_post_id"

create_table "posts",:force => true do |t|
t.string   "name"
t.text     "content"
t.integer  "view"
t.integer  "like"
t.integer  "hate"
t.datetime "created_at",:null => false
end

我做了什么:
在Post Controller中,我尝试通过在有人创建帖子时将其设置为0来初始化视图.

# POST /posts
# POST /posts.json
def create
@post = Post.new(params[:post])
@view = @post.view
@view = 0

respond_to do |format|
  if @post.save
    format.html { redirect_to posts_path,notice: 'success.' }
    format.json { render json: @post,status: :created,location: @post }
    @view = @post.view
    @view = 0
  else
    format.html { render action: "new" }
    format.json { render json: @post.errors,status: :unprocessable_entity }
  end

end

帖子应该能够显示其观看次数.所以在帖子的show.html.erb文件中,我也添加了下面的部分.
????< p为H.
????&LT b取代;视图:其中/ B个
????<%= @ post.view%>
????< / p为H.

它是如何工作的:
根本没有显示视图的数量.我检查了数据库,即使我试图在用户添加帖子时将其初始化为0,列也是空白的.我猜我尝试访问“视图”变量的方式有问题吗?通过这样做来访问它是不对的
@view = @ post.view?

我知道我必须考虑一个已经看过帖子的用户是否重新访问,但我还没有到那里,直到我确切知道如何访问视图变量/初始化/增加它.

我非常感谢你的帮助!

– 最大

解决方法

要在调用@ post.save之前将Post的view属性初始化为零(作为if语句的副作用):

@post.view = 0

然后在您的控制器动作中呈现帖子,您将需要将帖子的视图属性更新为1.如果多个人在数据库读取和写入之间同时访问页面,则会出现问题,但这至少会让您进入正确的方向.

保存数据库后@view在此处分配给值的任何操作都没有完成.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读