0

我有一个嵌套项目,其创建形式位于其父项的显示视图中。在这种情况下,它是成就列表 (achievement) 上的单个成就 (achievement_item)。

除了未通过验证的项目外,一切似乎都有效。抛出一个错误:

路由错误

No route matches {:action=>"show", :controller=>"achievements"}

尝试跑步rake routes以获取有关可用路线的更多信息。

当我跑步时,rake routes我得到了一片信息森林。顺便说一句,我具体应该寻找什么?我将成就和成就项目的“显示”操作与 photo_galleries 和 gallery_photos 中的对应项进行了比较(我开始使用的结构 - 它将无效的新 gallery_photos 重定向到编辑页面 - 我一直在并排比较所有文件,但我没有发现任何逻辑差异,这并不是说没有任何差异),但一切看起来都具有相同的格式。

我什至不知道从哪里开始。这就是我在嵌套项的控制器中要做的事情:

def create
    @achievement = Achievement.find(params[:achievement_id])
    @achievement_item = @achievement.achievement_items.create(params[:achievement_item])
    if @achievement_item.save
        redirect_to achievement_path(@achievement)
    else
        render "edit"
    end
end

注释掉render "edit"会导致缺少模板错误,所以至少我知道我遇到了这一行。

这是我的编辑页面:

<h1>Editing achievement item</h1>

<%= render 'form', achievement_item: @achievement_item %>

<%= link_to 'Show', @achievement %> |
<%= link_to 'Back', achievement_path %>

如果这样的错误消息能指出问题所在,那就太好了。并且有人应该对所有问题做点什么。:-)

4

1 回答 1

1

提出问题让我找到了答案。希望这可以为某人节省几个小时的挫败感,这里是:

在嵌套项的编辑页面中:

<%= link_to 'Back', achievements_path %>

而已。我什至没有真正使用的链接上缺少复数会导致数小时的挫败感

于 2013-05-14T21:52:00.387 回答