在Rails上做出反应 - 如何将登录链接更改为注销链接?

时间:2016-09-07 10:30:59

标签: ruby-on-rails reactjs login devise logout

我正在尝试使用react创建rails app。我使用了devise gem进行用户管理。我可以登录,但登录后我想更改登录链接登录链接。 以下是我的尝试:

这是根页面的html.erb文件:

<%= react_component('HomeApp', props: {data: @contact_form_props}) %>

这是包含标题链接的文件:

const HeaderApp = (props, _railsContext) => {
    const reactComponent = (
        <nav id="mainNav" className="navbar navbar-default navbar-custom navbar-fixed-top faq-container">
            <div className="container">
                <div className="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                    <div>
                        <ul className="nav navbar-nav navbar-right">
                            <li>
                              <Link href={this.props.path} to="">Login</Link>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>
        </nav>
    );
    return reactComponent;
};

登录后希望将登录链接转换为注销。谁能帮我吗。提前谢谢。

1 个答案:

答案 0 :(得分:1)

使它像过去的ERB或HAML那样只是过去的用户状态道具 我希望这可以帮到你。

  

= react_component('Header',{data:@contact_form_props,userSignedIn:user_signed_in?})

{
  this.props.userSignedIn ?
   <Link href={this.props.logoutPath} to="">Logout</Link>
  :
   <Link href={this.props.loginPath} to="">Login</Link>
}