【发布时间】:2014-07-14 17:09:22
【问题描述】:
我正在尝试从index.html.erb 视图调用我在控制器中定义的方法(实例方法)。
records_controller.rb:
def calc_cell_balance
4
end
index.html.erb:
<% @records.each do |r| %>
<%= r.calc_cell_balance %><br>
<% end %>
我收到此错误:
undefined method `calc_cell_balance' for #<Record:0x35d18d8>
我不想让它成为一个类方法,因为它的设计很糟糕。
如果我将方法定义放在record.rb(模型)中,它就可以工作。
我不确定我做错了什么,因为从视图中访问模型是错误的,但这是唯一有效的方法。
我该如何解决这个问题? 谢谢。
【问题讨论】:
-
你怎么能说它是错误和糟糕的设计?
-
其实是正确的方式,适合
MVC Design的Fat Model和Skinny Controller。
标签: ruby-on-rails model-view-controller