gpt4 book ai didi

ruby-on-rails - 使用 React Rails 显示关联的模型数据

转载 作者:行者123 更新时间:2023-12-03 14:04:44 24 4
gpt4 key购买 nike

我正在使用react-rails gem并且有两个模型:MessageUser 。用户 has_many :消息。

在我的message.js.jsx ,我想向该消息的用户显示。在常规 erb 中,它只是 <%= message.user.name %> 。我将如何在 message.js.jsx 中执行此操作组件?

最佳答案

可以将组件重命名为message.js.jsx.erb并在其中使用ERB,但它只会在Rails启动时编译一次。

一种更类似于 React 的处理方式是通过 AJAX 加载 componentDidMount 中的用户数据(如果使用 Flux,则为 Store)。

message.js.jsx

getInitialState: function() {
return { user: { name: '' } };
},

componentDidMount: function() {
$.getJSON('/users/'+ this.props.id +'.json', function(userData) {
if (this.isMounted()) {
this.setState({ user: userData })
}
});
},

您可以创建一个 Rails 端点以将 userData 作为 JSON 返回,如下所示:

users_controller.rb

def show
@user = User.find(params[:id])
respond_to do |format|
format.html # default html response
format.json { render json: @user.to_json(only: [:id, :name]) }
end
end

参见Facebook's page on this了解更多详情

关于ruby-on-rails - 使用 React Rails 显示关联的模型数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31519057/

24 4 0
文章推荐: image - 我在哪里可以找到免费的游戏图片?
文章推荐: reactjs - webpack 对象 # 没有方法 'forEach'