Ruby on rails 使用acts_作为_follower显示您关注的帖子

Ruby on rails 使用acts_作为_follower显示您关注的帖子,ruby-on-rails,hyperlink,devise,twitter-follow,Ruby On Rails,Hyperlink,Devise,Twitter Follow,在我的rails应用程序中,我使用的是gem'acts_as_follower'。我有一个posts/show页面,其中当前显示了我创建的所有帖子,尽管我想更改此页面,以便它显示您关注的人的帖子 我的财务总监: class PostsController < ApplicationController # GET /posts # GET /posts.json def index @posts = Post.all(:order => "created_at D

在我的rails应用程序中,我使用的是gem'acts_as_follower'。我有一个posts/show页面,其中当前显示了我创建的所有帖子,尽管我想更改此页面,以便它显示您关注的人的帖子

我的财务总监:

class PostsController < ApplicationController
  # GET /posts
  # GET /posts.json
  def index
    @posts = Post.all(:order => "created_at DESC")
    @post = Post.new
    @users = User.all(:order => "created_at DESC")

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @posts }
    end
  end

  # GET /posts/1
  # GET /posts/1.json
  def show
    redirect_to posts_path
  end

  # GET /posts/new
  # GET /posts/new.json
  def new
    @post = Post.new

    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @post }
    end
  end

  # GET /posts/1/edit
  def edit
    @post = Post.find(params[:id])
  end

  # POST /posts
  # POST /posts.json
  def create
    @post = current_user.posts.build(params[:post])

    respond_to do |format|
      if @post.save
        format.html { redirect_to @post, notice: 'Post was successfully created.' }
        format.json { render json: @post, status: :created, location: @post }
      else
        format.html { render action: "new" }
        format.json { render json: @post.errors, status: :unprocessable_entity }
      end
    end
  end

  # PUT /posts/1
  # PUT /posts/1.json
  def update
    @post = Post.find(params[:id])

    respond_to do |format|
      if @post.update_attributes(params[:post])
        format.html { redirect_to @post, notice: 'Post was successfully updated.' }
        format.json { head :no_content }
      else
        format.html { render action: "edit" }
        format.json { render json: @post.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /posts/1
  # DELETE /posts/1.json
  def destroy
    @post = Post.find(params[:id])
    @post.destroy

    respond_to do |format|
      format.html { redirect_to posts_url }
      format.json { head :no_content }
    end
  end
end
class UsersController < ApplicationController
  def index
@users = User.all

respond_to do |format|
  format.html # index.html.erb
  format.xml  { render :xml => @users }
end


end
  def show
    @user = User.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.xml  { render :xml => @user }
    end
  end

  def follow
      @user = User.find(params[:id])
      current_user.follow(@user)
      redirect_to root_path
  end

  def unfollow
    @user = User.find(params[:id])
    current_user.stop_following(@user)
    redirect_to root_path
  end

end
class PostsController“在DESC创建”)
@post=post.new
@users=User.all(:order=>“在DESC创建”)
回应待办事项|格式|
format.html#index.html.erb
format.json{render json:@posts}
结束
结束
#获取/posts/1
#GET/posts/1.json
def秀
将\u重定向到posts\u路径
结束
#获取/发布/新建
#GET/posts/new.json
def新
@post=post.new
回应待办事项|格式|
format.html#new.html.erb
format.json{render json:@post}
结束
结束
#获取/发布/1/编辑
定义编辑
@post=post.find(参数[:id])
结束
#职位
#POST/posts.json
def创建
@post=当前用户.posts.build(参数[:post])
回应待办事项|格式|
如果@post.save
format.html{将_重定向到@post,注意:'post已成功创建。}
format.json{render json:@post,status::created,location:@post}
其他的
format.html{呈现操作:“新建”}
format.json{render json:@post.errors,status::unprocessable_entity}
结束
结束
结束
#PUT/posts/1
#PUT/posts/1.json
def更新
@post=post.find(参数[:id])
回应待办事项|格式|
如果@post.update_属性(参数[:post])
format.html{将_重定向到@post,注意:'post已成功更新。}
format.json{head:no_content}
其他的
format.html{呈现操作:“编辑”}
format.json{render json:@post.errors,status::unprocessable_entity}
结束
结束
结束
#删除/posts/1
#删除/posts/1.json
def销毁
@post=post.find(参数[:id])
@事后销毁
回应待办事项|格式|
format.html{redirect_to posts_url}
format.json{head:no_content}
结束
结束
结束
和我的用户控制器:

class PostsController < ApplicationController
  # GET /posts
  # GET /posts.json
  def index
    @posts = Post.all(:order => "created_at DESC")
    @post = Post.new
    @users = User.all(:order => "created_at DESC")

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @posts }
    end
  end

  # GET /posts/1
  # GET /posts/1.json
  def show
    redirect_to posts_path
  end

  # GET /posts/new
  # GET /posts/new.json
  def new
    @post = Post.new

    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @post }
    end
  end

  # GET /posts/1/edit
  def edit
    @post = Post.find(params[:id])
  end

  # POST /posts
  # POST /posts.json
  def create
    @post = current_user.posts.build(params[:post])

    respond_to do |format|
      if @post.save
        format.html { redirect_to @post, notice: 'Post was successfully created.' }
        format.json { render json: @post, status: :created, location: @post }
      else
        format.html { render action: "new" }
        format.json { render json: @post.errors, status: :unprocessable_entity }
      end
    end
  end

  # PUT /posts/1
  # PUT /posts/1.json
  def update
    @post = Post.find(params[:id])

    respond_to do |format|
      if @post.update_attributes(params[:post])
        format.html { redirect_to @post, notice: 'Post was successfully updated.' }
        format.json { head :no_content }
      else
        format.html { render action: "edit" }
        format.json { render json: @post.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /posts/1
  # DELETE /posts/1.json
  def destroy
    @post = Post.find(params[:id])
    @post.destroy

    respond_to do |format|
      format.html { redirect_to posts_url }
      format.json { head :no_content }
    end
  end
end
class UsersController < ApplicationController
  def index
@users = User.all

respond_to do |format|
  format.html # index.html.erb
  format.xml  { render :xml => @users }
end


end
  def show
    @user = User.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.xml  { render :xml => @user }
    end
  end

  def follow
      @user = User.find(params[:id])
      current_user.follow(@user)
      redirect_to root_path
  end

  def unfollow
    @user = User.find(params[:id])
    current_user.stop_following(@user)
    redirect_to root_path
  end

end
class UsersController@users}
结束
结束
def秀
@user=user.find(参数[:id])
回应待办事项|格式|
format.html#show.html.erb
format.xml{render:xml=>@user}
结束
结束
def跟踪
@user=user.find(参数[:id])
当前用户。跟随(@user)
将\重定向到根\路径
结束
def展开
@user=user.find(参数[:id])
当前用户。停止跟踪(@user)
将\重定向到根\路径
结束
结束
我的看法是:

<div class="dash-well">
    <div class="gravatar-dashboard">
        <%= image_tag avatar_url(@user), :class => 'gravatar-pos-fix gr-dash-mar-top' %>
        <h1 class="nuvo wtxt"><%= @user.username.capitalize %></h1>
        <h3 class="nuvo wtxt"><%= @user.motto %></h3>
        <div class="follower-count nuvo"><%= @user.followers_count %> Followers</div>
        <%= link_to "Follow", follow_user_path(@user) %>
    </div>
</div>

<div class="dash-well-status">
<% @post.each do |post| %>
    <div class="dash-post">
      <div class="dash-tstamp">
        <strong>Posted <%= time_ago_in_words(post.created_at) %> ago</strong>
      </div>
      <div class="dash-status"><%= post.status %></div>
    </div>
<% end %>
</div>

“gravatar pos fix gr破折号顶部”%>
追随者
以前发布的

有人知道我该怎么做吗?

大概您有一个当前的用户方法或其他东西来表示登录的用户

然后在你的岗位上

@posts = current_user.follows_by_type('Post').order("created_at DESC")

因此,您只能获得当前用户正在关注的帖子。

这意味着[]的
未定义方法'all':Array
给出了错误
未定义方法'follows by_type'for nil:NilClass
您意识到我想显示我关注的用户的帖子,而不是我关注的帖子吗