我正在尝试将公共活动gem实现到我的Rails应用程序中。我正在关注优秀的Railscast剧集(http://railscasts.com/episodes/406-public-activity),但是当我运行localhost:3000 /活动时,我遇到了以下错误:
活动#index中的NoMethodError #
的未定义方法`content'错误显示问题出在views / activities / index.html.erb文件中:
<% @activities.each do |activity| %>
<div class ="activity">
<%= link_to activity.owner.content, activity.owner if activity.owner %>
<%= render_activity activity %>
</div>
<% end %>
它似乎不喜欢第三行的“link_to activity.owner.content”位。
活动控制器:
class ActivitiesController < ApplicationController
def index
@activities = PublicActivity::Activity.order("created_at desc").where(owner_id: current_user.followed_users.all, owner_type: "User")
end
end
内容是我的帖子表中的一列。我正在尝试跟踪/显示特定用户可能关注的用户活动。我的问题是存在于上述某个文件中还是其他地方的问题?
如果有帮助,如果我用
替换index.html.erb视图<% @activities.each do |activity| %>
<%= activity.inspect %>
<% end %>
我可以看到页面上显示的原始数据没有错误。一旦我用前面提到的新代码替换检查代码,就会出现错误。任何帮助将不胜感激。
其他信息:我正在使用Devise进行用户身份验证,我正在使用Michael Hartl的Railstutorial示例应用程序中的跟随系统。
谢谢!
答案 0 :(得分:0)
您的所有者模型是否具有内容属性?
铁路广播说
<%= link_to activity.owner**.name**, activity.owner if activity.owner %>
而不是
<%= link_to activity.owner.content, activity.owner if activity.owner %>