新手问题 rails 渲染多部分内容到一个页面

minix · October 10, 2012 · Last by minix replied at October 11, 2012 · 2527 hits
params[:process_more_ids].each do |process_more_id|       
    @products = Sys.where("ip_id = #{process_more_id}")         
      render controller: "home", action: "edit"                               
     return                                                                 
 end      

上面代码中的:process_more_ids的值为 10, 11, 12,得到的结果是渲染 id 为 10 的页面

如果要同时将 10, 11, 12 这三个 id 的结果渲染到一个页面,要怎样做才到达到这个效果?

虽然不理解楼主的要求,不过想说一句,查询语句这样写好一点吧。 @products = Sys.where("ip_id = ?", process_more_id)

看看 render partial 的文档

In controller:

@products = Sys.where(:ip_id => params[:process_more_ids])

On view:

<% @products.each do |process_id| %>
    <%= render "process_id", :process_id => process_id %>
<% end %>

或 (定义好 _product.html.erb)

<%= render @products %>

很感谢各位的帮助,问题已经解决了。 @ashchan 是因为我的 controller 写不好导致的,使用你写的 controller 就可以了。

谢谢!

You need to Sign in before reply, if you don't have an account, please Sign up first.