javascript - 在 Ruby On Rails 5 上不刷新视图的情况下在 link_to 上渲染部分内容
问题描述
我想在不刷新页面的情况下渲染部分按钮单击。
我尝试在我的exploitation_controller
:
def show_content
respond_to do |format|
format.js
end
end
在routes.rb
:
get '/exploitation/show_content', to: 'exploitation#show_content', as: 'show_content'`
<%= link_to "Show", show_content_path, :remote => true %>
在我的主人看来。
然后我$('#div_id').html("<%= render :partial => 'my_partial' %>");
有exploitation/show_content.js.erb
它给了我以下错误:ActionController::UnknownFormat
解决方案
在我看来,您不确定该放在哪里delete_content.js.erb
。
如果是这种情况(假设您的控制器名称是functions
,正如您的问题所暗示的那样),您需要将其放入app/views/functions/delete_content.js.erb
. 然后您的代码应该按预期工作,并且与您在评论中链接的答案一样。
因此,在控制器中:
def delete_content
respond_to do |format|
format.js
end
end
在您看来:
<%= link_to "Show", show_function_path, :remote => true %>
<div id = "div_id"></div>
但是,就目前而言,除非您在 中做一些非常规的事情,否则routes.rb
该链接将触发控制器的show
操作。您需要为 定义一个新路由delete_contents
,如下所示:
路线.rb
get '/functions/delete_contents', to: 'functions#delete_contents', as: 'delete_function_contents'
并将您的链接更新为:
<%= link_to "Delete Contents", delete_function_contents_path, :remote => true %>
并在app/views/functions/delete_content.js.erb
:
$('#div_id').html("<%= render :partial => 'my_partial' %>");
希望对您有所帮助,让我知道您的进展情况!
推荐阅读
- apache-kafka - 在 SASL 安全的 Confluent 服务器上启动 KSQL,出现错误“未为 JAAS 配置中的键 'â' 指定值”
- office-addins - 使用已经存在的 Web API 项目测试 Office 加载项时出现问题
- android - 当有多个生物识别传感器可用时,如何选择首选类型来使用?
- php - 在由 PHP 代码执行的电子邮件上添加链接
- react-native - 在 ImageBackground 中浮动将背景向右对齐
- visual-studio - 保存时如何防止 Project.params 同步
- vba - vba 中是否有一个 Join 函数来组合多个字段而不是在访问中使用连接函数?
- python - 在移动设备或台式计算机之间部署到 aws elastic beanstalk 的 django 网站有区别吗?
- sql - SQL查询左连接不过滤数据
- sql - 用于跟踪 IPv6/IPv4 地址的关系数据库——我提出的架构可以工作吗?