代码之家  ›  专栏  ›  技术社区  ›  ZX12R

如何为局部视图编写操作方法?

  •  1
  • ZX12R  · 技术社区  · 15 年前

    我渲染的视图部分类似于此。

    <%= render(:partial => "index" ,:controller=>"controller_name") %>
    

    所以这将部分呈现 控制器名称/\u index.html.erb

    这是我的疑问。我能为这个索引写一个操作方法吗?像这样?

    class ControllerNameController < ApplicationController
      def _index
      end
    end
    

    谢谢。

    1 回复  |  直到 8 年前
        1
  •  10
  •   Teresa Salil    8 年前

    不,这应该是

    class ControllerNameController < ApplicationController
      def index
       render :partial=>'index'
      end
    end
    

    编辑:详细解释我的答案- 当你写一个方法 method_name 而你却不 render ( redirect_to )任何情况下,控制器都会查找页面 method_name.html.erb 默认情况下。

    然而,使用 render :partial 如下图所示,操作将改为使用分部。

    例如

    class ControllerNameController < ApplicationController
      def some_method_name
       render :partial=>'index'  #look for the _index.html.erb
      end
    end
    
    
    class ControllerNameController < ApplicationController
      def some_method_name
       render :action=>'index'  #look for the index.html.erb
      end
    end
    
    
    class ControllerNameController < ApplicationController
      def some_method_name  #look for the "some_method_name.html.erb"
    
      end
    end