如何使用rails中的json使用外键从表中获取数据?

时间:2014-02-18 06:24:15

标签: ruby-on-rails json ruby-on-rails-3 ruby-on-rails-3.2 paperclip

我有一个产品表,其中每个产品在rails应用程序的Image表中有多个图像。这两个表使用外键,即Image表上的product_id连接。现在我想基于产品ID 以 json格式从两个表中获取数据。我需要在show方法中将哪些代码放在我的控制器上? 感谢。

2 个答案:

答案 0 :(得分:0)

你可以用这种最简单的方式做到这一点

 def show
    product = Product.find(params[:id])
    product_images = product.images

       respond_to do |format|
       format.json {:images => product_images}
       end

    end

答案 1 :(得分:0)

在您的控制器中

def your_function_name
    @product = Product.find(params[:id])  #to find product with id
    @product_images = @product.images
    respond_to do |format|      #for dual functionality JSON as well as HTML
        format.html { redirect_to @product }
        format.json { @product_images }
    end
end

对于Json,您还希望拥有json的视图。为此你可以使用像jbuilder或rabl这样的宝石。 例如,在你使用jbuilder时,你必须创建一个像

这样的视图

your_function_name.json.jbuilder

json.extract! @images, :first_variable_of_images, :second_variable_of_images, :created_at