问题标签 [acts-as-votable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
107 浏览

ruby-on-rails - 使用 Rails 5 对多个数据库表使用 Acts As Votable

我一直在使用https://github.com/ryanto/acts_as_votable gem 作为帖子的保存按钮。到目前为止一切都很好。

但是现在我创建了一个单独的脚手架(文章)并想添加相同的保存按钮。因此用户可以保存帖子和文章,然后在他们的个人资料中查看。

现在我遇到了问题,因为一些文章记录与帖子记录具有相同的 ID。另外,我什至现在如何显示已保存的记录,因为我不知道来自文章或帖子的 id 是什么。

有没有办法通过 Acts As Votable Gem 解决这个问题?

谢谢!

0 投票
1 回答
112 浏览

ruby-on-rails - 外键约束,博客文章,acts_as_votable

所以我安装了 gemacts_as_votable 或任何它的名字。很棒的小投票系统。但是,在我的管理员中,当我删除博客文章时,我收到一个外键约束失败的 sqlite 错误消息。我知道这与 db 表有关,如果您尝试删除一个表上的记录,该表在另一个表上具有外键,则会导致问题,除非为外键定义了 on_delete: :cascade 等。我是不知道如何为acts_as_votable gem 做到这一点。有人知道吗?谢谢!

博客模型:

博客控制器:

页面视图:

错误信息:

SQLite3::ConstraintException: FOREIGN KEY 约束失败:DELETE FROM "home_blogs" WHERE "home_blogs"."id" = ?

0 投票
2 回答
738 浏览

ruby-on-rails - Ruby on Rails - 使用acts_as_votable gem时“nil:NilClass的未定义方法`[]'”

我正在尝试创建一个 Reddit 克隆,其中用户以及 upvote 和 downvote 帖子。我已经为acts_as_votable gem ( https://github.com/ryanto/acts_as_votable ) 安装并运行了必要的迁移:

我还应该提到我正在使用单表继承来简化每种类型的帖子的工作:

我试图实现 upvote/downvote 功能(http://www.mattmorgante.com/technology/votable):

但是当我尝试对帖子进行投票时,我得到

PostsController 中的 NoMethodError#upvote

nil:NilClass 的未定义方法“[]”

在我的控制器的这一行:

即使我在控制台中手动尝试而不使用current_user,我也会收到相同的错误:

我不确定我的代码是否有问题,或者这可能是兼容性问题,因为我使用的是 Rails 5.2.0 , acts_as_votable的 GitHub 页面仅列出了5.05.1作为受支持的版本。

如果有人能对此有所了解,将不胜感激。

0 投票
0 回答
38 浏览

ruby-on-rails - 尝试使用acts_as_votable返回最受欢迎的博客文章

所以这是我的模型:

home_blog.rb

架构.rb

风景:

控制器:

我收到一个错误,提示未定义方法“to_model”用于 activerecord 关系

我究竟做错了什么?

0 投票
1 回答
94 浏览

ruby-on-rails - Rails 的acts_as_votable ajax 按钮喜欢所有帖子

我的 ajax 遇到了一个奇怪的错误,其中为视图中的所有帖子激活了“赞”按钮。这个功能的第一次迭代我从来没有遇到过这个问题。它是一个简单的两个状态按钮,如果当前用户不喜欢该帖子,则会隐藏填充的心和空心的心。我的代码写在下面。对于按钮本身,我使用了一个简单的 css 类/png 背景 url。

故事控制器.rb

故事\like.js.erb

_story.html.erb

路线.rb

0 投票
0 回答
31 浏览

ruby-on-rails - Rails Ajax 问题

我正在尝试向我在 rails 中创建的地点对象添加点赞功能——我正在使用 Actsasvotable 并且从数据库中添加/删除点赞没有问题。但是,我现在卡住了,无法弄清楚如何在没有页面加载的情况下添加类似内容。

这是我的看法:

其中包括以下部分:

它调用了共享喜欢形式(用于除地点以外的其他对象):

一旦控制器将类似内容保存到数据库中,它就会返回以下 javascript。我已经仔细检查了这个 javascript 是否与使用控制台的正确对象匹配,但无论我做什么,我的 .html 部分都不起作用:

这里的任何帮助将不胜感激!谢谢!!

0 投票
1 回答
89 浏览

ruby-on-rails - 如何开发一个用户可以投票给其他用户的投票系统(即类似信誉的系统)?

问题:如何使用acts_as_votable gem 让“用户声誉”系统适用于我的用户模型?鉴于下面的代码,我不确定最佳方法。

本质上,我有一个用户模型。我想要做的是,对于某些用户(即管理员帐户),他们可以访问一个所有用户都可以查看的页面,并根据他们的声誉为用户“投票”。

我的问题是,据我了解,gem 在模型中需要acts_as_votable 和acts_as_voter。

但是,由于投票者是用户,而投票者也是用户,所以我不确定如何继续。

到目前为止我所做的是:

宝石文件:

控制台导轨生成acts_as_votable:migration rake db:migrate

我的模型是:

基于此,推荐的解决方案是什么?

我尝试创建另一个模型,称为“UserReputation”,并生成了相关的控制器和视图。

我对这种方法的问题是,当我在索引页面中时,为了用户声誉,它不会针对喜欢和不喜欢按钮显示所有用户。

我理解为什么会这样,因为 UserReputation 是由用户创建的,然后用户会投票给 UserReputation(类似于论坛帖子)。这不是我想做的,但我正在关注这个教程。

本质上,如果这是唯一的方法,是否可以在 User 和 UserReputation 之间建立一个“链接”,从而将它们捆绑在一起?

这是我尝试的代码:

用户声誉指数:

0 投票
0 回答
57 浏览

ruby-on-rails - 使用acts_as_commentable 和acts_as_votable ROR

我正在尝试在我的 rails 应用程序中同时使用acts_as_commentable_with_threading 和acts_as_votable gem。

我不确定如何执行在我的应用程序正在使用的acts_as_commentable_with_threading gem 文件上打开“acts_as_votable”所需的步骤。

gem 的自述文件说明如下:"If you plan to use the acts_as_votable plugin with your comment system be sure to uncomment the line acts_as_votable in lib/comment.rb."

我尝试执行以下操作,但仍然出现错误。

首先解压gem:

第二次编辑comment.rb 文件,以取消注释“acts_as_votable”行。

第三次尝试让捆绑器使用保存在我的 /app 文件夹上方的 gem 的本地副本:

然后运行捆绑安装。使用 votable gem 提供的 get_upvotes 方法时,出现以下错误:

0 投票
2 回答
48 浏览

ruby-on-rails - 如何为acts_as_votable嵌套资源编写link_to?

我正在尝试向我的网站添加投票。我在项目显示页面中创建和显示了改进。我试图让用户对改进进行投票,但我收到一个错误,我认为这与我如何链接“赞”按钮有关。

在我的routes.rb文件中:

在我看来:

Rails 建议我写:

但这不起作用。所以我试着在我的routes.rb

使用原始的 link_to 进行投票,但单击投票按钮会将我带到改进显示页面。我想留在项目页面上。

0 投票
1 回答
40 浏览

ruby-on-rails-5 - the default table name is "votes" for gem acts_as_votable, can I change to whatever name I want? and how?

The default table name is "voter" for gem acts_as_votable, how can I change the table name to whatever I want?

It conflicts with another table name of mine.