0

我正在尝试创建一个链接,以便如果当前用户已经创建了一个项目,那么他们只需单击“项目”链接,它就会将他们带到他们的项目。每个用户只能有一个项目。如果他们没有项目,那么它将把他们带到表单来创建一个(即新的视图/动作)。

我该怎么办?我道歉,我是新来的Rails。目前,我正在使用以下内容:

<%= link_to 'Project', project_path %>

如果用户已经有一个项目,它工作正常,但如果一个不存在,则说“没有路线匹配 {:action=>"show", :controller=>"projects"}"。我不知道从哪里开始 - 我是在 link_to 中添加条件,还是我需要将它放入控制器中?谢谢!

4

2 回答 2

1

我想你应该在new动作中检查它。查找项目(如果存在)并重定向到edit操作。

如果您决定呈现用户的链接可以欺骗您并/projects/new在地址栏中输入。

于 2012-10-02T15:42:18.370 回答
0
<%= link_to 'Project', 
      current_user.project.present? ? 
        project_path(current_user.project) : 
        new_project_path %>
于 2012-10-02T15:41:21.927 回答