Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Rails |我只想展示一些文章_Javascript_Ruby On Rails - Fatal编程技术网

Javascript Rails |我只想展示一些文章

Javascript Rails |我只想展示一些文章,javascript,ruby-on-rails,Javascript,Ruby On Rails,我有两张桌子: -用户\活动:包含ID活动和ID用户 -活动:包含Id、Id用户等 我只想显示两个表中的活动 这是我的代码: -活动包含用户的所有活动 -usersactivities\u id在一个选项卡中包含用户的所有用户活动(例如:10、2、3) def获取主要活动 用户=当前用户 活动=[] user.groups.each do| group| 活动答案是,为我工作:) def获取主要活动 用户=当前用户 活动=[] usersactivities\u id=current\u use

我有两张桌子: -用户\活动:包含ID活动和ID用户 -活动:包含Id、Id用户等

我只想显示两个表中的活动

这是我的代码: -活动包含用户的所有活动 -usersactivities\u id在一个选项卡中包含用户的所有用户活动(例如:10、2、3)

def获取主要活动
用户=当前用户
活动=[]
user.groups.each do| group|

活动答案是,为我工作:)

def获取主要活动
用户=当前用户
活动=[]
usersactivities\u id=current\u user.user\u activities.select('activity\u id').map(&:activity\u id).uniq
user.groups.each do| group|
活动“获取活动”}
结束
结束

你能更清楚地解释一下你到底想显示什么吗?如果usersactivities\u id.include,这一行做什么?活动id
?这会给你带来一个错误吗?嗯,对不起,我的英文是:x我只想在user_activities和activity中显示活动(它们的链接是用户id和新闻id)@see虽然它通常会检查活动id是否在useractivity中,但我会更新帖子以显示日志:)Try
activity.joins(“在用户\u activities.activity\u id=activities.id和用户\u activities.user\u id=?”上内部加入用户\u活动,当前用户.id)。其中(组:当前用户.group\u id)。订单(“在DESC更新”)
并通过将
DESC
更改为
ASC
  def fetch_maj_activities
    user = current_user
    activities = []
    user.groups.each do |group|
      activities << Activity.where(group: group)
    end


    usersactivities_id = current_user.user_activities.select('activity_id').map(&:activity_id).uniq

    activities.each do |activity|
      if usersactivities_id.include? activity.id
      else
        activities = activities.flatten.reject {|a| a.id == activity.id}
      end
    end
    @all_activities = activities.flatten.sort_by(&:updated_at).reverse
    respond_to do |format|
      format.js
    end
  end
  CACHE Activity Load (0.0ms)  SELECT  "activities".* FROM "activities" WHERE "activities"."group_id" = $1 LIMIT $2  [["group_id", 1], ["LIMIT", 11]]
  ↳ /home/benjamin/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activerecord-5.2.0.rc1/lib/active_record/log_subscriber.rb:98
NoMethodError (undefined method `id' for #<ActiveRecord::Relation []>
Did you mean?  ids):

app/controllers/activities_controller.rb:65:in `block in fetch_maj_activities'
app/controllers/activities_controller.rb:64:in `each'
app/controllers/activities_controller.rb:64:in `fetch_maj_activities'
  def fetch_maj_activities

    user = current_user
    activities = []
    usersactivities_id = current_user.user_activities.select('activity_id').map(&:activity_id).uniq

    user.groups.each do |group|
      activities << Activity.where(group: group)
    end



    usersactivities_id.each do |useractid|
      activities.flatten.each do |act|
        if act.id == useractid
          activities = activities.reject {|a|a}

        end
      end
    end

    @all_activities = activities.flatten.sort_by(&:updated_at).reverse
    respond_to do |format|
      format.js {render :action => "fetch_activities"}
    end
  end