[英]rails how to render two format html/json in show action of a controller
[英]Rails : how to render an other action in the controller, in js not in html?
我的控制器中有两个动作:
def find
@item = Item.find(params[:id])
render 'result', :id => @item.id
end
def result
@item = Item.find(params[:id])
respond_to do |format|
format.js
end
end
问题在于我首先调用find
动作,然后调用result
动作但是采用html格式。 所以'format.js`永远不会被触发。
如何在find
操作结束时以js格式呈现result
操作?
非常感谢 !
在find方法中尝试这个。
render 'result', :id => @item.id, :format => :js
Try this
<%= render 'components/activity-slider', populer_packages: @populer_packages %>
components/activity-slider
<div class="slider sliderSecondary activitiesSlider">
<% populer_packages.each do |package| %>
<a href="#" class="sliderGrid ">
<div class="sliderCont">
<div class="sliderGradient"></div>
<div class="sliderThumb">
<div class="sliderImgWrap">
<%= image_tag "#{package.image}", class: "img-fluid sliderImg" %>
<div class="overlayCaptionCont">
<div class="overlayCaptionWrap">
<div class="overlayCaption">
<ul class="list-unstyled captionList">
<li>test</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</a>
<% end %>
</div>
render
方法只渲染视图,不调用另一个动作
这里更大的问题是你试图调用另一个动作,这打破了MVC模式。 即使将操作定义为方法,也要将其视为其他内容,而不能将其他操作称为其他操作。
另外,请回复您正在调用/触发这些操作的视图中的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.