【发布时间】:2013-05-23 18:57:55
【问题描述】:
在我的网站上,用户拥有个人资料,其中包含指向其个人外部网站的链接。我存储在名为 website 的 postgresql 数据库中的网站的 url。当我测试结果时,我总是得到这样的 url:
http://localhost:3000/www.example.com
而不是http://www.example.com
我的视图 index.html.erb 看起来像这样:
<% provide(:title, 'All projects') %>
<h1>All projects</h1>
<%= will_paginate %>
<ul class="microposts">
<%= render @microposts %>
</ul>
<%= will_paginate %>
和我的 _micropost.html.erb 像这样:
<li>
<span class="title"><%= micropost.title %></span>
<span class="website"><%= link_to micropost.website, micropost.website %></span>
<span class="content"><%= micropost.content %></span>
<span class="timestamp">
Posted <%= time_ago_in_words(micropost.created_at) %> ago.
</span>
</li>
我不知道在这种情况下有什么问题。如果我在 micropost.website 之前设置了一个@,它会给我一个错误 undefined method `website' for nil:NilClass
有人可以帮助我吗(我是 RoR 初学者)?
韩国,费边
【问题讨论】:
-
并非如此。如果我在 _micropost.html.erb 中写
<span class="website"><%= link_to micropost.website, micropost.website %></span>,我还会得到一个 undefined method `website' for nil:NilClass 错误 -
如果是这样,您不应该先在上面的行中获取
undefined method title for nil:NilClass吗?<span class="title"><%= micropost.title %></span> -
@JoeFrambach no,
<%= micropost.title %>工作正常,但如果我将其更改为<%= @micropost.title %>,我也会得到同样的错误(但这次是标题) -
这怎么不是重复的
标签: ruby-on-rails ruby-on-rails-3 link-to