2015-03-25 77 views
0

当一个模型的标准“show.html.erb”基本上只列出其另一个模型的has_many时,Rails应用的标准做法是什么?没有index为'孩子'模型没有它的'父母'模型的上下文,他们的名单将是无用的。 (父母/ 1 /孩子/ 1)觉得是正确的事情(特别是在API方面),而在/ parents/1页面上只会有一点点按钮说“继续” ......再次无用。显示页面上的Rails索引

我是否会像上面那样创建单独的路线,纯粹是为了API,还是我错过了更清晰的Railsy方式?

编辑

我不知道上面是完全清楚。如果我有一个完全由Questions组成的Exam,Rails的方式是链接到/exam/1/questions还是纯粹到/exam/1以及一系列问题。很显然,在大多数情况下,API会去/exam/1/questions,但标准HTML页面呢?它看起来像是想要成为/exam/1,但是嵌套资源create路由(默认情况下)转到/exam/1/questions路由。如果/exam/1/questions/new路线上存在验证错误,则表单将在create/exam/1/questions)路线上再次呈现;如果页面然后刷新,然后得到一个404错误,因为没有索引的儿童。

所有这一切让我相信,Rails预计是大多数模型的index行为;但在上面的例子中,这感觉很奇怪。

回答

0

如果我明白你的意思,你不要把路线告诉/parents/1,出于这个原因,你应该在你的指定routes.rb

resource :parents, except: :show do 
    resource :children 
end 
相关问题