Rails中公共活动gem的未定义方法错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails中公共活动gem的未定义方法错误相关的知识,希望对你有一定的参考价值。

我正在尝试将公共活动gem实现到我的Rails应用程序中。我正在关注优秀的Railscast剧集(http://railscasts.com/episodes/406-public-activity),但是当我运行localhost:3000 /活动时,我遇到了以下错误:

活动中的NoMethodError #index未定义方法`content'for#

该错误表明问题出在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替换index.html.erb视图

<% @activities.each do |activity| %>
  <%= activity.inspect %>
<% end %>

我可以看到页面上显示的原始数据没有错误。一旦我用前面提到的新代码替换检查代码,就会出现错误。任何帮助将不胜感激。

附加信息:我正在使用Devise进行用户身份验证,我正在使用Michael Hartl的Railstutorial示例应用程序中的跟随系统。

谢谢!

答案

您的所有者模型是否具有内容属性?

铁路广播说

<%= link_to activity.owner**.name**, activity.owner if activity.owner %>

代替

<%= link_to activity.owner.content, activity.owner if activity.owner %>

以上是关于Rails中公共活动gem的未定义方法错误的主要内容,如果未能解决你的问题,请参考以下文章

Squeel 在 Rails 控制台中工作,但不在控制器中。错误:nil:NilClass 的未定义方法“方法”

Rails 文件上传错误“nil:NilClass 的未定义方法‘original_filename’”

使用 gem 安装 rails,错误加载命令:安装未定义的方法“invoke_with_build_args”

为啥 x-editable-rails gem 会抛出错误:未定义的方法 `xeditable?'?

升级到 Rails 4.2.5.1 后 nil:NilClass 的未定义方法“缓存”

使用 AJAX 刷新 Rails 部分时的未定义方法