Итак, я создаю веб-приложение с бэкэндом Rails и внешним интерфейсом React.
на моей странице 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 для извлечения данных из рельсов, чтобы отреагировать:
componentDidMount() {
axios.get('api/v1/meals.json')
.then(response => {
console.log(response)
this.setState({
meals: response.data
})
})
.catch(error => console.log(error))
}