Ruby on rails 从rails以Json格式呈现多个变量以进行响应
我想显示从rails后端到react前端的膳食列表。另外,我想加上一个具体的日期 以下是我到目前为止的情况: U控制器.rbRuby on rails 从rails以Json格式呈现多个变量以进行响应,ruby-on-rails,reactjs,Ruby On Rails,Reactjs,我想显示从rails后端到react前端的膳食列表。另外,我想加上一个具体的日期 以下是我到目前为止的情况: U控制器.rb def index @meals = Meal.where(week_day: Date.today.cwday).order('random()') @date = DateTime.now render json: @meals.to_json(include: :restaurant) end MealsPage.js: comp
def index
@meals = Meal.where(week_day: Date.today.cwday).order('random()')
@date = DateTime.now
render json: @meals.to_json(include: :restaurant)
end
MealsPage.js:
componentDidMount() {
axios.get('/meals.json')
.then(response => {
this.setState({
meals: response.data
});
})
.catch(error => console.log(error))
}
我想在render方法中添加@date
,这样我可以执行以下操作:
this.setState({
meals: response.data.meals,
date: response.data.date
});
但到目前为止,我所尝试的一切都失败了。我试过这样的方法:
render json: [@meals.to_json(include: :restaurant), @date]
或
但这两种解决方案都将我的@fends
作为一个大字符串发送,就像“[{},{},{},{}]
一样,而不是将其作为对象数组呈现
你知道我能做这件事吗 您应该在此处使用ifto_json
:
render json: { meals: @meals.as_json(include: :restaurant), date: @date }
它到底是如何不起作用的?在你决定在那里添加更多的筑巢之前,它工作了吗?Hi@potashin,当我只有我的
餐食
要渲染时,我工作了。数据是从后端正确获取的,但在react上引发了错误:reponse.data.fines
似乎不起作用。@potashin我刚刚意识到我的膳食是作为一个大字符串而不是散列数组呈现的。我更新了我的帖子,让它更清晰。非常感谢您的帮助@potashin!它做得很好。
render json: { meals: @meals.as_json(include: :restaurant), date: @date }