视图中的共享方法和控制器 ruby​​ on rails 4 [英] share method in view and controller ruby on rails 4

查看:40
本文介绍了视图中的共享方法和控制器 ruby​​ on rails 4的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a method in my controller class

class ProjectsController < ApplicationController
    def download_sftp
        some codes here 
    end
end 

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

and to be able to access it in my view,at the top of my controller I have this line

helper_method :download_sftp

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

when I use the following code in my view I get the undefined method download_sftp for this project

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

推荐答案

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

declaring a helper_method on a controller will make it available in a view directly like any other helper (e.g form_for or link_to). However you are calling this on a project model. So it should be:

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

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

What is download_sftp supposed to do? Perhaps it even belongs into the project model.

这篇关于视图中的共享方法和控制器 ruby​​ on rails 4的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆