【问题标题】:Accessing Devise user fields in React with React on Rails使用 React on Rails 访问 React 中的设计用户字段
【发布时间】:2018-05-23 15:17:16
【问题描述】:

我正在尝试访问Users#index 中Users 对象中的Devise 属性invitation_accepted_at。设计属性在我的控制器方法以及 Rails 视图中返回。但是在 JSX 状态对象中传递给 React 时会丢失。

users_controller.rb

  def index
    @users = User.all
  end

users/index.html.erb

<%= react_component("User", props: {
  users: @users
  }) %>
<%= javascript_pack_tag 'user' %>

User.jsx

// . . .

export default class User extends React.Component {
  constructor(props) {
    super(props);
    this.state = { users: this.props.users };
  }

// . . .

当我执行console.log( this.state.users ) 时,我得到了原始对象,但没有设计属性。

这可能吗?还是我缺少步骤?

【问题讨论】:

    标签: ruby-on-rails reactjs devise react-on-rails


    【解决方案1】:

    我认为您正在受到隐式哈希转换的影响。在控制器的调试会话中,查看 @users.to_hash 输出的内容(我相信它应该与您在控制台日志中看到的内容相匹配)。尝试更新您传递的值以响应 @users.attributes 并查看其中是否包含您要查找的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-02
      • 1970-01-01
      • 1970-01-01
      • 2016-07-30
      • 1970-01-01
      相关资源
      最近更新 更多