Доступ к пользовательским полям Devise в React с помощью React on Rails - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь получить доступ к атрибуту Devise invitation_accepted_at в моих Users объектах в индексе Users #.Атрибуты devise возвращаются в моем методе контроллера, а также в представление Rails.Но теряются при передаче React в объекте состояния JSX.

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 ), я получаю исходные объекты, но без атрибутов Devise.

Возможно ли это?Или я пропускаю шаги?

1 Ответ

0 голосов
/ 24 мая 2018

Я думаю, что на вас влияет неявное преобразование хеша.В сеансе отладки вашего контроллера посмотрите, что выводит @users.to_hash (я считаю, что оно должно совпадать с тем, что вы видите в журнале консоли).Попробуйте обновить значение, которое вы передаете, чтобы оно реагировало, до @users.attributes и посмотрите, содержит ли оно то, что вы ищете.

...