在视图控制器Rails中调用方法

时间:2013-10-06 21:45:27

标签: ruby-on-rails ruby erb

为了概括我的问题,我使用的API返回一个可迭代的对象。其中,每个对象都是id。我的控制器看起来像这样:

class SearchController < ApplicationController
    def index
        @search = API.find(params[:query])
    end
end

我的观点是这样的:

    <% @search.each do |thing| %>
        <h2><%= thing.attr2 if thing.attr1 %></h2>
        <%= API.list(thing.attr2) %>
    <% end %>

我尝试过将方法添加到

class SearchController < ApplicationController
    def index
        @search = API.find(params[:query])

            def getList(attr2)
                API.list(thing.attr2)
            end   
    end
end

并在定义之前添加index和self(例如:self.getList(attr2))并在视图中的所有变体中调用它:

<%= getList(thing.attr2) %>

我想知道我在哪里错了。我已经尝试添加helper_method行,因为我在一些文档中读到但它不会识别它。另外,这是采用这种风格的正确方法吗?很难找到它的参考资料让我觉得这不是标准做法。

1 个答案:

答案 0 :(得分:0)

我试图制作的方法是一个辅助方法,因此需要使用控制器的辅助方法。