我是Ruby on Rails的新手,并且正在制作一个带有显示页面的Web应用程序,该页面应仅根据所单击的链接简单地显示数据库中的数据。我想让它只有一个页面,该页面会根据我选择的食谱进行更改,但我不知道如何区分链接。
答案 0 :(得分:1)
这是转到控制器的显示操作的基本的轻松路线。
# config/routes.rb
Rails.application.routes.draw do
get '/recipes/:recipe_id', to: 'recipes_controller#show'
end
因此您的链接可能类似于:http://example.com/recipes/2 哪个页面应加载显示ID为2的食谱信息的页面
现在这是假设您有一个控制器 recipes_controller.rb ,该控制器具有 show 动作,可为您提供有关该食谱的信息
# app/controllers/recipes_controller.rb
class RecipesController < ApplicationController
...
def show
@recipe = Recipe.find(params[:recipe_id])
render 'show'
end
end
现在在views/recipes/show.html.erb
模板中或在 show 操作中渲染的任何视图中,您都可以访问包含对象值的<%= @recipe %>
。