我想渲染部分按钮点击轨道。我有两个控制器
1.现场控制器
1.操作员控制器
当用户点击index.html.erb时,它将显示一个弹出窗口,其中包含Operator Controller的index.html.erb内容。
这是我的字段控制器index.html.erb的按钮:
<%= link_to "Link" ,operators_index_path(:id => field_id, :field_name=>field_name), :remote => true %>
这是Operators Controller的索引方法:
class OperatorsController < ApplicationController
def index
@operators = Api::AnalyticsQueryBuilderMetadataService::Operator.show(params[:id])
end
end
这是Operator Controller的index.html.erb的内容,我想将其显示为弹出窗口:
<%if @operators['items'].empty?%>
<div class="error-handling-page">
<div class="dialog">
<div>
<h1>No Operator Found</h1>
</div>
</div>
</div>
<%else%>
<table class ="table">
<thead>
<th class ="head">Field Name</th>
<th class ="head">Name</th>
<th class ="head">Description</th>
</thead>
<% @operators['items'].each do |data| %>
<% @opId = data['operators'] %>
<% @opId.each do |value| %>
<tr>
<td><%= field_name %></td>
<td><%= value['mnemonic']%></td>
<td><%= value['description']%></td>
</tr>
<%end%>
<%end%>
</tbody>
</table>
<%end%>
怎么做?
2条答案
按热度按时间pb3s4cty1#
您可以使用 AJAX 和UJS来实现这一点。
这里是my favorite tutorial。
如果你想成为最前沿的,Rails 7有Hotwire,它也可以做到这一点。有 * 许多 * Hotwire教程可通过快速谷歌搜索。
2nbm6dog2#
对于Rails,Hotwire是您应该研究的工具。特别是,您需要利用turbo帧,它允许您用控制器返回的内容替换html页面的一部分。
this page是了解Hotwire的一个很好的资源。