【问题标题】:Rails link_to path variable convention?Rails link_to 路径变量约定?
【发布时间】:2013-06-16 18:23:10
【问题描述】:

对不起,这是一个幼稚的问题。

我有一个嵌套资源深度 2 级。

  resources :programs do  
    resources :questions do
      resources :answers
    end
  end

因此,为了使索引、编辑等页面正常工作,我需要修改视图中 showeditnew 按钮的 link_to 属性。

例如,

我应该如何将此edit_question_path 重命名为?应该是edit_question_program_path 还是应该是edit_program_question_path。我对这个约定感到困惑,如果我们有程序->问题->答案,那么约定应该如何在 link_to 的路径中?请帮忙

【问题讨论】:

    标签: ruby-on-rails link-to nested-routes


    【解决方案1】:

    要知道使用哪个路由,只需触发rake routes 即可查看正确的路径名称。

    此外,在这种情况下,您需要为 link_to 提供三个对象

    link_to "Something", 
      edit_program_question_answer_path(@program, @question, @answer)
    

    这不丑吗?单独提供 link_to 需要做很多工作,而且还会有更多工作。

    不要滥用嵌套资源。在我看来,永远不要使用它们超过 2 个。我自己更喜欢尽可能避免嵌套资源。

    【讨论】:

    • 感谢您的快速响应,那么我应该如何重新设计我的模型、路线以减少它们的繁琐?
    • @Clone,这与模型无关,只是路线。当不需要嵌套资源时,您可以为每个模型提供单独的资源。您可以查看guides.rubyonrails.org/routing.html 了解更多信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 2016-07-24
    相关资源
    最近更新 更多