视图中的共享方法和控制器 ruby on rails 4 [英] share method in view and controller 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_for
或 link_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屋!