{"id":1151,"date":"2015-08-05T06:42:34","date_gmt":"2015-08-05T06:42:34","guid":{"rendered":"http:\/\/www.honobono-life.info\/wpeng\/?p=1151"},"modified":"2015-08-05T06:42:34","modified_gmt":"2015-08-05T06:42:34","slug":"microposts-feed-with-angularjs","status":"publish","type":"post","link":"http:\/\/www.honobono-life.info\/wpeng\/microposts-feed-with-angularjs\/","title":{"rendered":"Ruby on Rails Tutorial microposts feed with AngularJS"},"content":{"rendered":"<p><strong>1)Rails User model<\/strong><\/p>\r\n\r\n<p>$ vi app\/models\/user.rb<\/p>\r\n\r\n<pre class=\"prettyprint\">\r\n  def feed\r\n    Micropost.where(&quot;user_id = ?&quot;, id)\r\n  end<\/pre>\r\n\r\n<p><strong>2)Rails controller<\/strong><\/p>\r\n\r\n<p>$ vi app\/controllers\/sessions_controller.rb<\/p>\r\n\r\n<pre class=\"prettyprint\">\r\n  def create\r\n    user = User.find_by(email: session_params[:email].downcase)\r\n    if user &amp;&amp; user.authenticate(session_params[:password])\r\n.........\r\n      @user_info = {\r\n        user: user,\r\n        gravatar_url: &quot;https:\/\/secure.gravatar.com\/avatar\/#{gravatar_id}&quot;,\r\n        microposts: microposts,\r\n        feed: user.feed\r\n      }\r\n      render json: @user_info, status: :accepted, location: user\r\n    else\r\n......\r\n  def current_user\r\n.......\r\n    @user_info = {\r\n      user: current_user,\r\n      gravatar_url: &quot;https:\/\/secure.gravatar.com\/avatar\/#{gravatar_id}&quot;,\r\n      microposts: microposts,\r\n      feed: current_user.feed\r\n    }\r\n    render json: @user_info, status: :accepted<\/pre>\r\n\r\n<p><strong>3)AngularJS template view<\/strong><\/p>\r\n\r\n<p>$ vi app\/assets\/templates\/static_pages\/home.html.erb<\/p>\r\n\r\n<div ng-non-bindable><pre class=\"prettyprint\">\r\n&lt;div ng-controller=&quot;HomeCtrl&quot;&gt;\r\n  &lt;div ng-show=&quot;chkSignin().user.id &gt; 0&quot; class=&quot;row&quot;&gt;\r\n    &lt;div class=&quot;col-sm-4&quot;&gt;\r\n.......\r\n    &lt;\/div&gt;\r\n    &lt;div class=&quot;col-sm-8&quot;&gt;\r\n      &lt;h3&gt;Micropost Feed&lt;\/h3&gt;\r\n      &lt;ol class=&quot;microposts&quot;&gt;\r\n        &lt;li ng-repeat=&quot;mp in chkSignin().feed&quot;&gt;\r\n          &lt;a href=&quot;\/users\/{{chkSignin().user.id}}&quot;&gt;\r\n            &lt;img alt=&quot;{{chkSignin().user.name}}&quot;\r\n                 src=&quot;{{chkSignin().gravatar_url}}?s=60&quot;\r\n                 class=&quot;gravatar&quot;\r\n            \/&gt;\r\n          &lt;\/a&gt;\r\n          &lt;a href=&quot;\/users\/{{chkSignin().user.id}}&quot;&gt;{{chkSignin().user.name}}&lt;\/a&gt;\r\n          &lt;div&gt;{{mp.content}}&lt;\/div&gt;\r\n          &lt;small class=&quot;text-muted&quot;&gt;Posted {{mp.created_at | date:&#39;medium&#39;}}&lt;\/small&gt;\r\n        &lt;\/li&gt;\r\n      &lt;\/ol&gt;\r\n    &lt;\/div&gt;\r\n  &lt;\/div&gt;\r\n<\/pre><\/div>\r\n","protected":false},"excerpt":{"rendered":"<p>1)Rails User model $ vi app\/models\/user.rb def feed Micropost.where(&quot;user_id = ?&quot;, id) end 2)Rails controller $ vi app\/controllers\/sessions_controller.rb def create user = User.find_by(email: session_params[:email].downcase) if user &amp;&amp; user.authenticate(session_params[:password]) &#8230;&#8230;&#8230; @user_info = { user: user, gravatar_url: &quot;https:\/\/secure.gravatar.com\/avatar\/#{gravatar_id}&quot;, microposts: microposts, feed: user.feed } render json: @user_info, status: :accepted, location: user else &#8230;&#8230; def current_user &#8230;&#8230;. @user_info = [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[137],"tags":[35,182,178],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/1151"}],"collection":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/comments?post=1151"}],"version-history":[{"count":1,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/1151\/revisions"}],"predecessor-version":[{"id":1152,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/1151\/revisions\/1152"}],"wp:attachment":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/media?parent=1151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/categories?post=1151"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/tags?post=1151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}