从视图控制器方法调用rails

时间:2016-01-27 15:54:42

标签: ruby-on-rails

Ba是脚手架生成的类我创建它是这样的:

rails generate scaffold Ba src:string descr:string title:string

我有查看home.html.erb 我有

<%= render 'layouts/bas' %>

我创建了一个_bas.html.erb文件并将其放在layouts文件夹中。它有这个代码:

  <%  Ba.find_each do |ba| %> *CODE* <% end %>

它运作良好。 但我想将我的find方法放在控制器中,因为它可能比找到所有方法更大。 所以在我创建的StaticPagesController

def bas
  @bas = Ba.find_each
end

但是我得到的错误是bas是nill。 我的控制器代码

  def home
  end

  def help
  end
  def about
  end
  def contact
  end

1 个答案:

答案 0 :(得分:0)

您只需在相应的控制器操作中指定@bas即可在视图中使用

如果您确实需要从视图中调用控制器上的方法 - 请使用helper_method

helper_method :bas
def bas
  #code...
end