【发布时间】:2021-04-10 22:40:56
【问题描述】:
我有一个带有表单的页面,我想在我的 rails 应用程序中查看不重新加载的结果,但我是新手,将 JS 合并到 ruby on rails 中。我尝试遵循Display result data without page refresh on form submission in ruby on rails 以及一些“AJAX 简介”指南,但我很难将它们应用到我自己的项目中。
在我的用户个人资料profile.html.erb 中,我有一个标签列表供审核
<% if review.tags.length > 0 %>
<% review.tags.each do |tag| %>
<%= tag.category %>
<%= tag.name %>
<% end %>
<% end %>
在其下有一个添加新标签的表单
<%= simple_form_for @tag, url: "/add_tag/#{review.id}" do |form| %>
<%= form.input :category %>
<%= form.input :name %>
<%= form.button :submit %>
<% end %>
(出于格式化原因,我目前正在使用 gem simple_form。这不是我困惑的原因,尽管我认为我可能需要将其删除以应用解决方案)
这个表单提交给我的reviews_controller,里面有这个方法add_tag
def add_tag
@review = Review.find_by(id: params[:id])
tag_cat = params[:tag][:category]
tag_name = params[:tag][:name]
if valid_tag(tag_cat, tag_name) && tag_cat != ""
@tag = grab_tag(tag_cat, tag_name)
if ReviewTag.find_by(tag_id: @tag.id, review_id: @review.id).nil?
ReviewTag.create(tag_id: @tag.id, review_id: @review.id)
end
redirect_to '/profile'
else
redirect_to '/profile'
end
end
redirect_to /profile 目前工作得很好,但似乎我需要以某种方式使用format.js?我正在努力查看我需要在 javascript 和视图方面进行哪些更改。
【问题讨论】:
标签: ruby-on-rails ajax