Ruby on rails Rails:helper返回正确的SQL结果,但忽略列
我的ApplicationHelper文件中有一个工作正常的助手:Ruby on rails Rails:helper返回正确的SQL结果,但忽略列,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我的ApplicationHelper文件中有一个工作正常的助手: def latest_issue @issue = Issue.find(:all, :order => "id DESC", :limit => 1) return @issue end 在这之后,使用@issue在任何视图中都可以正常工作,但是考虑到@issue有一个名为message的列,使用@issue.message返回一个无方法错误 任何帮助都会很棒!干杯。问题实例变量返回的是对象数组,而不是实
def latest_issue
@issue = Issue.find(:all, :order => "id DESC", :limit => 1)
return @issue
end
在这之后,使用@issue
在任何视图中都可以正常工作,但是考虑到@issue
有一个名为message
的列,使用@issue.message
返回一个无方法错误
任何帮助都会很棒!干杯。问题实例变量返回的是对象数组,而不是实例。如果要选择问题对象的属性,则需要返回该对象的实例
@issue = Issue.find(:last)
@issue.message
您可能正在尝试输出Issue对象的所有消息属性,如果需要将@Issue传递给块
@issue.each do |issue|
issue.message
end
issue实例变量返回的是对象数组,而不是实例。如果要选择问题对象的属性,则需要返回该对象的实例
@issue = Issue.find(:last)
@issue.message
您可能正在尝试输出Issue对象的所有消息属性,如果需要将@Issue传递给块
@issue.each do |issue|
issue.message
end
当您试图访问一系列问题的成员消息
时,您应该从助手返回一个问题
假设您使用的是Rails 3,那么您的助手将有一个大大改进的版本:
def latest_issue
Issue.order(:id).last
end
关于编写idomatic Ruby的几点注意事项:
- 避免显式的
语句,并将最后一条语句作为方法的返回值return
- 使用可链接的方法,如
、order()
和where()
,而不是将参数传递给limit()
find
消息
,此时您应该从您的助手返回一个问题
假设您使用的是Rails 3,那么您的助手将有一个大大改进的版本:
def latest_issue
Issue.order(:id).last
end
关于编写idomatic Ruby的几点注意事项:
- 避免显式的
语句,并将最后一条语句作为方法的返回值return
- 使用可链接的方法,如
、order()
和where()
,而不是将参数传递给limit()
find