【发布时间】:2014-02-26 08:18:09
【问题描述】:
我无法访问我在类中编写的方法,问题是我试图在该类的实例中访问它,但希望有人能更详细地解释一下为什么这不起作用以及解决问题需要注意的事项。
我创建了一个简单的辅助方法,用于在我的视图中连接两个属性
class TeamMember < ActiveRecord::Base
def fullname
"#{self.forename} #{self.surname}"
end
end
在我看来(显示动作)我希望能够使用这种方法
def show
@team_member = TeamMember.find(params[:id])
end
例如,这样做会给我一个未定义的方法
<%= link_to fullname(@team_member) %>
OR
<% @team_member.each do |t| %>
<%= link_to fullname, t %>
<% end %>
这行得通
<% @team_member.each do |t| %>
<%= link_to "#{t.forename} #{t.surname}", t %>
<% end %>
有人可以帮我澄清一下,以便我可以从中学习
【问题讨论】:
-
不是
link_to fullname(@team_member)试试这个link_to @team_member.fullname和<%= link_to t.fullname, t %>如果这项工作我可以回答。 -
您将
fullname定义为无参数方法,但您正在传递参数。 -
@Monk_Code 来吧...这就是原因。
-
@Monk_Code 有效..如果你能以一种简单明了的方式解释那就太好了:) 为什么我的第一个问题是 t 的两种用途
标签: ruby ruby-on-rails-3 methods