ruby on rails重用视图

时间:2012-06-16 10:29:05

标签: ruby-on-rails ruby-on-rails-3

我有一个“食谱”表和一个“成分”表。每个食谱“has_and_belong_to_many”成分和每个成分“has_and_belong_to_many”食谱。

我想添加一个指向成分页面的链接:“显示包含此成分的所有食谱”。

我在配料控制器中写了以下代码:

def recipes
    @ingredient = Ingredient.find(params[:id])
    @recipes = @ingredient.recipes
    respond_to do |format|
       format.html # index.html.erb
       format.json { render json: @recipes }
    end
end

我的问题是,现在它希望我在“配料”视图下有一个“recipes.html.erb”文件。 我不想为此创建一个新视图,我只想使用我在“recipes”视图中使用的相同代码(recipes / index.html.erb)。 如何将导轨指向此视图?

(我正在使用rails 3.x)

谢谢, 李

1 个答案:

答案 0 :(得分:2)

像这样:

def recipes
    @ingredient = Ingredient.find(params[:id])
    @recipes = @ingredient.recipes
    respond_to do |format|
       format.html { render "recipes/index" }
       format.json { render json: @recipes }
    end
end

有关详细信息,请查看导轨指南:http://guides.rubyonrails.org/layouts_and_rendering.html#using-render