Javascript 在鼠标悬停期间在数据库中添加一行-ruby on rails

Javascript 在鼠标悬停期间在数据库中添加一行-ruby on rails,javascript,jquery,ruby-on-rails,ruby,hover,Javascript,Jquery,Ruby On Rails,Ruby,Hover,我想在rails中实现一些东西:我在bdd中有一个新的殖民地,默认情况下,所有用户的元素都是1。 我有一个“userarticles”表,它将包含文章的id和飞越的每一篇文章的用户id 因此,我希望当一个带有“new”选项卡的over a div消失,并将其放入数据库时,用户看到了这篇文章 所以,我的问题是,当我的JQuery请求删除div时,它可以工作,但我不能发出rail请求 $('.newness')。悬停( 函数(){ $(this.addClass('hover)); //我想把我

我想在rails中实现一些东西:我在bdd中有一个新的殖民地,默认情况下,所有用户的元素都是1。 我有一个“userarticles”表,它将包含文章的id和飞越的每一篇文章的用户id 因此,我希望当一个带有“new”选项卡的over a div消失,并将其放入数据库时,用户看到了这篇文章

所以,我的问题是,当我的JQuery请求删除div时,它可以工作,但我不能发出rail请求


$('.newness')。悬停(
函数(){
$(this.addClass('hover));
//我想把我的rails功能放在那里
//我试试这个
//$(this.innerHTML(“”)
//但他始终以相同的身份返回我。。
}

新的

您需要一个js脚本,该脚本必须控制多个文章块。因此,您可以每次放入脚本,但在加载页面后脚本运行一次。这意味着您只能将最后一个文章id放入js

但您可以标记HTML块(使用数据属性),然后只读取注释。例如:

<div class="newness" data-id='<%= article.id %>'>new</div>
新建
然后给你写一次:

<script>
  $('.newness').hover(
    function() {
      $(this).addClass('hover);
      //read your note there
      myArticleId = $(this).data('id');
      // console.log(myArticleId);
      // do something with id or send ajax request
    }
  )
</script>

$('.newness')。悬停(
函数(){
$(this.addClass('hover));
//在那里读你的便条
myArticleId=$(this.data('id');
//console.log(myArticleId);
//使用id执行操作或发送ajax请求
}
)

您可以创建一个表单,但也可以在控制器中创建一个专用操作,该操作会传递文章id,然后您可以将
可见性
跟踪器更改为“可见”,如果是布尔值,则更改为“1”

在您看来,您应该按照此线程的第2节在悬停时调用此操作:

您只需提及专用操作的路径,并传递文章id。这样可以避免创建带有隐藏字段的表单


最后,为了删除文章的标签,只需将javascript放入一个名为Ike your action:
Idedicated_action.erb.js
的视图文件中,在其中放置一些js或Jquery代码,以使文章的div消失。在所有文章的原始视图中,您唯一需要做的就是为div分配一个ID,即c,并在JS视图中使用相同的ID以选择正确的分区。

很抱歉,我没有理解所有内容,但我是rails新手, 目前,我有一个表单可以添加用户活动: 包含用户和项目id的表 还有我的功能悬停 当鼠标悬停在div上时,仍然需要将该部分放在一起以添加到数据库中

<script>
  $('.newness').hover(
    function() {
      $(this).addClass('hover);
      myArticleId = $(this).data('id');
      //I want there to put user_id & activity_id in my database
    }
  )
</script>

谢谢

你应该向页面添加隐藏表单并触发表单提交,看。特别是实际工作的感谢,你知道如何在我的数据库中添加一行吗,我有一个表user\u articles,具有user\u id和article\u id迁移用于更改数据库表(创建、重命名、添加或删除字段)。示例:“rails g migration AddFieldToUserArticles字段名称:string&&rake db:migrate"。您可以处理创建迁移,但generator会将时间戳添加到有助于管理迁移的文件名中。生成后,在“rake db:migrate”之前,您可以在db/migrate上编辑迁移。我已经实现了我的迁移,我只想找到一个解决方案,从jquery中添加一行,或者在鼠标悬停期间使用ajax发送请求est(在客户端,您不能更新数据库,出于安全原因这是很好的):$.ajax({url:'/user_articles',method:'POST',data:{id:myArticleId})。通过创建相关操作和路由,在服务器中处理此请求。我已创建以下路由:POST”/user_articles=>'user_articles#create',:as=>'create'但我有一些错误(错误请求)参数丢失或值为空:user_activity
//appcontroller
def set_variables
@userarticle = UserArticle.new
end
//user_articles_controller
def create
@user = current_user
@userarticle = @user.user_articles.build(userarticles_params)
@userarticle.save
redirect_to root_path
end