当我尝试在 rails 2.3.11 的视图中获取 activeRecord 对象的参数时出现错误

Posted

技术标签:

【中文标题】当我尝试在 rails 2.3.11 的视图中获取 activeRecord 对象的参数时出现错误【英文标题】:I'm having en error when I try to fetch the argument of an activeRecord object in a view in rails 2.3.11 【发布时间】:2012-03-21 16:14:43 【问题描述】:

这是我得到的错误

ArgumentError in External_articles#show

Showing app/views/external_articles/show.html.erb where line #3 raised:

wrong number of arguments (0 for 1)
Extracted source (around line #3):

1: <p>
2:   <b>Title:</b>
3:   <%= @external_article.title %>
4: </p>
5: 

但在控制台中,它工作正常。

?> ExternalArticle
=> ExternalArticle(id: integer, title: string, url: string, language: string, source: string, date: date, created_at: datetime, updated_at: datetime, event_id: integer)

>> ExternalArticle.last.title
=> "Two course records shattered in Va. Beach marathon "

所有其他属性都在视图中正确显示。如果我将标题属性重命名为“article_title”,它将起作用。

我不明白问题出在哪里。该视图过去运行良好。

有什么线索吗? 谢谢

【问题讨论】:

你能发布你的 external_articles_controller 代码吗? 所以你说 :) 要检查的显而易见的事情是 1) @external_article 实际上是 ExternalArticle 的一个实例,2) 在 ExternalArticle 模型中是否有一个名为 title 的方法,它接受一个参数或 ExternalArticle 继承自的类。 谢谢汤姆,我找不到任何东西,所以我重命名了属性。 【参考方案1】:

我终于找到了问题的根源。 我创建了一个名为 title 的全局辅助方法,它使用了一个参数。 当我重命名辅助方法时,一切都恢复正常了。

【讨论】:

以上是关于当我尝试在 rails 2.3.11 的视图中获取 activeRecord 对象的参数时出现错误的主要内容,如果未能解决你的问题,请参考以下文章

Rails 从父数据中获取数据并在嵌套视图中显示为页面标题(标题)

Rails 测试尝试删除 sql 视图

在 Javascript 中使用 Rails 关联

Rails:在 Rails 视图中使用 javascript 函数的正确语法

如何在rails中添加视图

在 RSpec 中测试 Rails 视图:为啥当我想测试“索引”时它会路由到“显示”?