Rails复选框以获取所选记录的json值

时间:2014-09-01 05:15:27

标签: ruby-on-rails ruby json

您好我在rails中有一个表单,这是代码

 <%= form_tag getjson_products_path do  %>
<% @products.each do |product|  %>
    <%= check_box_tag "product_ids[]",product.id , false%>
   <%= product.name %>
   <%= product.category %>
   <%= product.price %>
   <%= link_to 'Show', product %>
   <%= link_to 'Edit', edit_product_path(product) %>
   <%= link_to 'Destroy', product, method: :delete, data: { confirm: 'Are you sure?' } %>
  <br>
<% end %>
 <%= submit_tag "submit" %>
<br>
<% end %>

我在产品控制器中编写了一个方法

   def getjson
    #stuff to do
    redirect_to root_path
  end

这是我的路线档案

 resources :products do
   collection do
    get 'getjson'
 end
end

我想要获取所选产品的json值,但每当我点击提交时,它表示路由错误我必须做什么以及如何获取所选记录的json值?

1 个答案:

答案 0 :(得分:1)

在控制器更改中

def getjson
    if params[:product_ids]
       @products = Product.find(params[:product_ids])
       render json: @products
     end
  end

多才多艺呢