【问题标题】:how do i write action methods for partial views?我如何为部分视图编写操作方法?
【发布时间】:2010-05-13 06:07:35
【问题描述】:

我像这样渲染部分视图。

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

所以这将部分呈现 controller_name/_index.html.erb

这是我的疑问。我可以为这个_index 写一个动作方法吗?像这样?

class ControllerNameController < ApplicationController
  def _index
  end
end

谢谢。

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    不应该是这样的

    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
    

    【讨论】:

    • 所以你的意思是我应该同时拥有索引和_index?两个文件代替一个..?
    • 不,当您编写“render :partial=>'index'”时,它只会查找 _index.html.erb 它根本不关心 index.html.erb 中的内容
    猜你喜欢
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多