如何在嵌套资源路由下加载has_many关系的记录

时间:2014-09-19 06:04:15

标签: ruby-on-rails

我认为辅助路径会加载logs所有belongs_to父记录remote_focu

tool_cvt_remote_focu_remote_focu_logs_path(tool_cvt_remote_focu)

但它没有,它仍然加载了remote_focu_logs的所有记录。

怎么了?

ROUTE

  namespace :tool do
    namespace :cvt do
      resources :remote_focus do
        resources :remote_focu_logs
      end
    end
  end

日志控制器中的INDEX ACTION

  def index
    @tool_cvt_remote_focu_logs = Tool::Cvt::RemoteFocuLog.all
  end

如果我想保留直接访问的正常路由,我应该在route.rb中添加类似重复的路由规则

  namespace :tool do
    namespace :cvt do
      resources :remote_focu_logs
    end
  end

1 个答案:

答案 0 :(得分:1)

代替:

def index
  @tool_cvt_remote_focu_logs = Tool::Cvt::RemoteFocuLog.all
end

应该是这样的:

def index
  @tool_cvt_remote_focu_logs = Tool::Cvt::RemoteFocu.find(params[:remote_focu_id]).remote_focu_logs
end

scaffold只生成每个资源共有的一些基本功能