1)Rails User model
$ vi app/models/user.rb
def feed
Micropost.where("user_id = ?", id)
end
2)Rails controller
$ vi app/controllers/sessions_controller.rb
def create
user = User.find_by(email: session_params[:email].downcase)
if user && user.authenticate(session_params[:password])
.........
@user_info = {
user: user,
gravatar_url: "https://secure.gravatar.com/avatar/#{gravatar_id}",
microposts: microposts,
feed: user.feed
}
render json: @user_info, status: :accepted, location: user
else
......
def current_user
.......
@user_info = {
user: current_user,
gravatar_url: "https://secure.gravatar.com/avatar/#{gravatar_id}",
microposts: microposts,
feed: current_user.feed
}
render json: @user_info, status: :accepted
3)AngularJS template view
$ vi app/assets/templates/static_pages/home.html.erb
<div ng-controller="HomeCtrl">
<div ng-show="chkSignin().user.id > 0" class="row">
<div class="col-sm-4">
.......
</div>
<div class="col-sm-8">
<h3>Micropost Feed</h3>
<ol class="microposts">
<li ng-repeat="mp in chkSignin().feed">
<a href="/users/{{chkSignin().user.id}}">
<img alt="{{chkSignin().user.name}}"
src="{{chkSignin().gravatar_url}}?s=60"
class="gravatar"
/>
</a>
<a href="/users/{{chkSignin().user.id}}">{{chkSignin().user.name}}</a>
<div>{{mp.content}}</div>
<small class="text-muted">Posted {{mp.created_at | date:'medium'}}</small>
</li>
</ol>
</div>
</div>