视图中的共享方法和轨道上的控制器ruby 4

时间:2014-07-28 11:06:17

标签: ruby ruby-on-rails-4

我的控制器类中有一个方法

class ProjectsController < ApplicationController
    def download_sftp
        some codes here 
    end
end 

并且能够在我的视图中访问它,在我的控制器顶部我有这一行

helper_method :download_sftp

当我在视图中使用以下代码时,我得到了此项目的未定义方法download_sftp

<tbody>
    <% @projects.each do |project| %>
      <tr>
        <td><%= link_to  'download',project.download_sftp(project) %></td>
     </tr>
    <% end %>
</tbody>

1 个答案:

答案 0 :(得分:0)

在控制器上声明一个helper_method将使其在视图中直接与任何其他帮助器一样可用(例如form_forlink_to)。但是,您在项目模型上调用它。 所以它应该是:

<td><%= link_to  'download', download_sftp(project) %></td>

download_sftp应该做什么?也许它甚至属于项目模型。