因此,我正在构建一个具有Rails后端和React前端的Web应用程序。
在我的meals#index
页面上,我想显示我的所有餐点,以及他们所关联的餐厅的名称和地址(餐点belongs_to
,餐厅和餐厅has_many
餐)。
我是一个经典的Rails应用,我只需编写:
<%= meal.restaurant.name %>
<%= meal.restaurant.address %>
并且查询在幕后进行。
但是对于React / Rails应用程序,我需要从控制器中获取所有数据。
那么我该如何转换索引方法:
module Api::V1
class MealsController < ApplicationController
def index
@meals = Meal.order(:id)
render json: @meals
end
end
end
以便它(尽可能快地)获取餐馆数据。
顺便说一句,我使用axios从rails获取数据以做出反应:
componentDidMount() {
axios.get('api/v1/meals.json')
.then(response => {
console.log(response)
this.setState({
meals: response.data
})
})
.catch(error => console.log(error))
}
答案 0 :(得分:2)
一种方法是像这样在include
响应中json
用餐
render json: @meals.to_json(include: :restaurant)
以上内容将生成用餐数据及其相关餐厅的数据。