javascript - 不能在类似动作的 RoR 中使用 JS
问题描述
我正在尝试在rails中制作一些网络。我想像 Facebook 一样制作“点赞按钮”。
路线.rb
resources :care_articles do
resources :care_articles do
member do
post "like", to: "care_articles#like"
end
end
care_articles_controller.rb
def like
like = CaLike.find_by(user_id: current_user.id, care_article_id: params[:care_article_id])
if like == nil
like = CaLike.create(user_id: current_user.id, care_article_id: params[:care_article_id])
like.save
else
like.destroy
end
respond_to do |format|
format.js
end
end
在我的index.html.erb 它有部分_care_article.html.erb
...
<div class="ca_likes">
<%= care_article.ca_likes.size %>
<%= render 'care_articles/buttons', care_article: care_article %>
</div>
...
_buttons.html.erb
<% if current_user.ca_likes.where(care_article_id: care_article).present? %>
<%= link_to icon('suit-heart-fill'), like_care_article_path(care_article),
id: "js-like-#{care_article.id}", remote: true, method: :post %>
<% else %>
<%= link_to icon('suit-heart'), like_care_article_path(care_article),
id: "js-like-#{care_article.id}", remote: true, method: :post %>
<% end %>
像.js.erb
$('#js-like-<%= @care_article.id %>').replaceWith("<%= j (render partial: 'care_articles/button', locals: {care_article: @care_article}) %>");
在我的 CaLike 模型 CaLike.rb
类 CaLike < ApplicationRecord belongs_to :care_article belongs_to :user end
当我单击图标时,什么也没发生。ㅡ 出现错误。
POST http://co-kkirricare-ilipe.run.goorm.io/care_articles/4/like 500(内部服务器错误)
ㅡ 和我的服务器响应
ActionView::Template::Error (Missing partial care_articles/_button with {:locale=>[:en], :formats=>[:js, :html], :variants=>[], :handl
ers=>[:raw, :erb, :html, :builder, :ruby, :jbuilder]}. Searched in:
ㅡ而且根本没有CaLike.save数据。
我应该怎么做才能使用js...请帮助我。我在这里度过了沉重的时光...
解决方案
推荐阅读
- java - 缩小 -Xms 改进了 GC 时间
- reactjs - 无法对未安装的组件执行 React 状态更新
- javascript - 没有对象解决方案的动态键 - MongoDB findOneAndUpdate 调用
- java - JLaTeXMath 和 FXGraphics2D 无法正确显示积分符号
- c# - 在 Entity Framework Core 中替换实体集合会导致 DbContext 在未保存到 db 时获取新值。如何重新加载收藏?
- java - 在Java中的方法内部调用另一个方法
- python - 使用 openpyxl 时无法将 [1, 2, 3, 4, 5] 转换为 Excel
- javascript - 将 UTC 字符串日期转换为 UTC 日期
- powershell - 在 PowerShell 中对 TCP 或 UDP 协议进行分组并按字符编号对其进行排序
- reactjs - 从 react-native-svg 中的形状创建文本剪切效果