Updated to have comments
This commit is contained in:
parent
c2aab96494
commit
4992632a84
8 changed files with 177 additions and 167 deletions
228
.idea/workspace.xml
generated
228
.idea/workspace.xml
generated
|
|
@ -2,7 +2,14 @@
|
|||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="42443dfa-4405-4cad-b0d1-6c57eb86e644" name="Default" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||
<change beforePath="$PROJECT_DIR$/app/controllers/v1/articles_controller.rb" afterPath="$PROJECT_DIR$/app/controllers/v1/articles_controller.rb" />
|
||||
<change beforePath="$PROJECT_DIR$/app/controllers/v1/items_controller.rb" afterPath="" />
|
||||
<change beforePath="$PROJECT_DIR$/app/controllers/v1/todos_controller.rb" afterPath="" />
|
||||
<change beforePath="$PROJECT_DIR$/app/models/article.rb" afterPath="$PROJECT_DIR$/app/models/article.rb" />
|
||||
<change beforePath="$PROJECT_DIR$/app/models/user.rb" afterPath="$PROJECT_DIR$/app/models/user.rb" />
|
||||
<change beforePath="$PROJECT_DIR$/config/routes.rb" afterPath="$PROJECT_DIR$/config/routes.rb" />
|
||||
<change beforePath="$PROJECT_DIR$/db/schema.rb" afterPath="$PROJECT_DIR$/db/schema.rb" />
|
||||
</list>
|
||||
<ignored path="$PROJECT_DIR$/.bundle/" />
|
||||
<ignored path="$PROJECT_DIR$/components/" />
|
||||
|
|
@ -33,9 +40,19 @@
|
|||
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||
<file leaf-file-name="articles_controller.rb" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/app/controllers/v1/articles_controller.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="306">
|
||||
<caret line="17" column="18" lean-forward="true" selection-start-line="17" selection-start-column="18" selection-end-line="17" selection-end-column="18" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="routes.rb" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/config/routes.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="288">
|
||||
<caret line="16" column="85" lean-forward="false" selection-start-line="16" selection-start-column="85" selection-end-line="16" selection-end-column="85" />
|
||||
<caret line="16" column="0" lean-forward="false" selection-start-line="16" selection-start-column="0" selection-end-line="16" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
|
@ -51,6 +68,66 @@
|
|||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="20180222154430_create_comments.rb" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/db/migrate/20180222154430_create_comments.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="72">
|
||||
<caret line="4" column="46" lean-forward="false" selection-start-line="4" selection-start-column="46" selection-end-line="4" selection-end-column="46" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="comments_controller.rb" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/controllers/comments_controller.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="288">
|
||||
<caret line="16" column="12" lean-forward="false" selection-start-line="16" selection-start-column="12" selection-end-line="16" selection-end-column="12" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="comment.rb" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/models/comment.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="72">
|
||||
<caret line="4" column="0" lean-forward="false" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="article.rb" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/models/article.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="36">
|
||||
<caret line="2" column="20" lean-forward="false" selection-start-line="2" selection-start-column="20" selection-end-line="2" selection-end-column="20" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="user.rb" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/models/user.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="90">
|
||||
<caret line="5" column="20" lean-forward="false" selection-start-line="5" selection-start-column="20" selection-end-line="5" selection-end-column="20" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="20180219100642_create_articles.rb" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/db/migrate/20180219100642_create_articles.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="90">
|
||||
<caret line="5" column="43" lean-forward="false" selection-start-line="5" selection-start-column="24" selection-end-line="5" selection-end-column="43" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="FindInProjectRecents">
|
||||
|
|
@ -95,8 +172,6 @@
|
|||
<option value="$PROJECT_DIR$/app/controllers/todos_controller.rb" />
|
||||
<option value="$PROJECT_DIR$/spec/requests/items_spec.rb" />
|
||||
<option value="$PROJECT_DIR$/db/migrate/20180219100239_create_articles.rb" />
|
||||
<option value="$PROJECT_DIR$/app/models/article.rb" />
|
||||
<option value="$PROJECT_DIR$/app/models/user.rb" />
|
||||
<option value="$PROJECT_DIR$/app/controllers/users_controller.rb" />
|
||||
<option value="$PROJECT_DIR$/app/controllers/application_controller.rb" />
|
||||
<option value="$PROJECT_DIR$/app/controllers/authentication_controller.rb" />
|
||||
|
|
@ -107,13 +182,17 @@
|
|||
<option value="$PROJECT_DIR$/app/controllers/articles_controller.rb" />
|
||||
<option value="$PROJECT_DIR$/app/controllers/v1/items_controller.rb" />
|
||||
<option value="$PROJECT_DIR$/app/controllers/v1/todos_controller.rb" />
|
||||
<option value="$PROJECT_DIR$/config/routes.rb" />
|
||||
<option value="$PROJECT_DIR$/app/lib/api_version.rb" />
|
||||
<option value="$PROJECT_DIR$/app/controllers/v2/todos_controller.rb" />
|
||||
<option value="$PROJECT_DIR$/app/serializers/todo_serializer.rb" />
|
||||
<option value="$PROJECT_DIR$/app/controllers/v2/articles_controller.rb" />
|
||||
<option value="$PROJECT_DIR$/Gemfile" />
|
||||
<option value="$PROJECT_DIR$/app/serializers/article_serializer.rb" />
|
||||
<option value="$PROJECT_DIR$/config/routes.rb" />
|
||||
<option value="$PROJECT_DIR$/db/migrate/20180222154430_create_comments.rb" />
|
||||
<option value="$PROJECT_DIR$/app/models/comment.rb" />
|
||||
<option value="$PROJECT_DIR$/app/models/article.rb" />
|
||||
<option value="$PROJECT_DIR$/app/models/user.rb" />
|
||||
<option value="$PROJECT_DIR$/app/controllers/v1/articles_controller.rb" />
|
||||
</list>
|
||||
</option>
|
||||
|
|
@ -168,7 +247,7 @@
|
|||
<item name="vereto-api" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="app" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="controllers" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="concerns" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="v1" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="vereto-api" type="b2602c69:ProjectViewProjectNode" />
|
||||
|
|
@ -181,6 +260,12 @@
|
|||
<item name="vereto-api" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="db" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="vereto-api" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="vereto-api" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="db" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="migrate" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</subPane>
|
||||
|
|
@ -333,12 +418,12 @@
|
|||
<workItem from="1519029876792" duration="13672000" />
|
||||
<workItem from="1519112531617" duration="11606000" />
|
||||
<workItem from="1519202717236" duration="9748000" />
|
||||
<workItem from="1519290005411" duration="11256000" />
|
||||
<workItem from="1519290005411" duration="14364000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TimeTrackingManager">
|
||||
<option name="totallyTimeSpent" value="62794000" />
|
||||
<option name="totallyTimeSpent" value="65902000" />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="0" y="28" width="1920" height="1026" extended-state="6" />
|
||||
|
|
@ -347,11 +432,11 @@
|
|||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.19497864" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Docker" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.37782562" sideWeight="0.29540598" order="7" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.22820237" sideWeight="0.29540598" order="7" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32959402" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.37782562" sideWeight="0.704594" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.22820237" sideWeight="0.704594" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
|
|
@ -377,27 +462,6 @@
|
|||
<watches-manager />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/spec/support/request_spec_helper.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="108">
|
||||
<caret line="6" column="3" lean-forward="false" selection-start-line="6" selection-start-column="3" selection-end-line="6" selection-end-column="3" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/spec/models/user_spec.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="180">
|
||||
<caret line="10" column="54" lean-forward="false" selection-start-line="10" selection-start-column="54" selection-end-line="10" selection-end-column="54" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/spec/factories/items.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="126">
|
||||
<caret line="7" column="3" lean-forward="false" selection-start-line="7" selection-start-column="3" selection-end-line="7" selection-end-column="3" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/spec/factories/todos.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="108">
|
||||
|
|
@ -482,13 +546,6 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/db/migrate/20180216131546_create_users.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/db/migrate/20180216101247_create_items.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
|
|
@ -505,13 +562,6 @@
|
|||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/db/migrate/20180219100239_create_articles.rb" />
|
||||
<entry file="file://$PROJECT_DIR$/db/migrate/20180219100444_create_articles.rb" />
|
||||
<entry file="file://$PROJECT_DIR$/db/migrate/20180219100642_create_articles.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="90">
|
||||
<caret line="5" column="22" lean-forward="true" selection-start-line="5" selection-start-column="22" selection-end-line="5" selection-end-column="22" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/models/item.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="54">
|
||||
|
|
@ -534,13 +584,6 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/models/user.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="72">
|
||||
<caret line="4" column="18" lean-forward="false" selection-start-line="4" selection-start-column="18" selection-end-line="4" selection-end-column="18" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/auth/authorize_api_request.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="594">
|
||||
|
|
@ -604,13 +647,6 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/config/routes.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="162">
|
||||
<caret line="9" column="22" lean-forward="false" selection-start-line="9" selection-start-column="22" selection-end-line="9" selection-end-column="22" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/controllers/v1/items_controller.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="162">
|
||||
|
|
@ -677,14 +713,6 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/models/article.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="18">
|
||||
<caret line="1" column="17" lean-forward="false" selection-start-line="1" selection-start-column="17" selection-end-line="1" selection-end-column="17" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/Gemfile">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="240">
|
||||
|
|
@ -709,10 +737,74 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/controllers/v1/articles_controller.rb">
|
||||
<entry file="file://$PROJECT_DIR$/config/routes.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="288">
|
||||
<caret line="16" column="85" lean-forward="false" selection-start-line="16" selection-start-column="85" selection-end-line="16" selection-end-column="85" />
|
||||
<caret line="16" column="0" lean-forward="false" selection-start-line="16" selection-start-column="0" selection-end-line="16" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/db/migrate/20180216131546_create_users.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/db/migrate/20180219100642_create_articles.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="90">
|
||||
<caret line="5" column="43" lean-forward="false" selection-start-line="5" selection-start-column="24" selection-end-line="5" selection-end-column="43" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/models/user.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="90">
|
||||
<caret line="5" column="20" lean-forward="false" selection-start-line="5" selection-start-column="20" selection-end-line="5" selection-end-column="20" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/models/article.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="36">
|
||||
<caret line="2" column="20" lean-forward="false" selection-start-line="2" selection-start-column="20" selection-end-line="2" selection-end-column="20" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/db/migrate/20180222154430_create_comments.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="72">
|
||||
<caret line="4" column="46" lean-forward="false" selection-start-line="4" selection-start-column="46" selection-end-line="4" selection-end-column="46" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/models/comment.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="72">
|
||||
<caret line="4" column="0" lean-forward="false" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/controllers/comments_controller.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="288">
|
||||
<caret line="16" column="12" lean-forward="false" selection-start-line="16" selection-start-column="12" selection-end-line="16" selection-end-column="12" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/controllers/v1/articles_controller.rb">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="306">
|
||||
<caret line="17" column="18" lean-forward="true" selection-start-line="17" selection-start-column="18" selection-end-line="17" selection-end-column="18" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
|
|
|||
|
|
@ -9,14 +9,13 @@ class V1::ArticlesController < ApplicationController
|
|||
@article = Article.all.order(created_at: :desc).paginate(page: current_page, per_page: 10)
|
||||
total_pages = (@article.count / posts_per_page).ceil
|
||||
|
||||
|
||||
pagination = {
|
||||
"current_page": current_page.to_i == 0 ? 1 : current_page,
|
||||
"last_page": total_pages,
|
||||
"next_page": "#{current_page.to_i < total_pages.to_i ? (current_page.to_i+1) : (current_page)}",
|
||||
"prev_page": "#{current_page.to_i > 1 ? (current_page.to_i-1) : (current_page)}"
|
||||
}
|
||||
json_response({articles: @article.as_json(include: [:user]), pagination: pagination})
|
||||
json_response({articles: @article.as_json(include: [:user, :comments]), pagination: pagination})
|
||||
end
|
||||
|
||||
# POST /articles
|
||||
|
|
|
|||
|
|
@ -1,48 +0,0 @@
|
|||
module V1
|
||||
class ItemsController < ApplicationController
|
||||
before_action :set_todo
|
||||
before_action :set_todo_item, only: [:show, :update, :destroy]
|
||||
|
||||
# GET /todos/:todo_id/items
|
||||
def index
|
||||
json_response(@todo.items)
|
||||
end
|
||||
|
||||
# GET /todos/:todo_id/items/:id
|
||||
def show
|
||||
json_response(@item)
|
||||
end
|
||||
|
||||
# POST /todos/:todo_id/items
|
||||
def create
|
||||
@todo.items.create!(item_params)
|
||||
json_response(@todo, :created)
|
||||
end
|
||||
|
||||
# PUT /todos/:todo_id/items/:d
|
||||
def update
|
||||
@item.update(item_params)
|
||||
head :no_content
|
||||
end
|
||||
|
||||
# DELETE /todos/:todo_id/items/:id
|
||||
def destroy
|
||||
@item.destroy
|
||||
head :no_content
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def item_params
|
||||
params.permit(:name, :done)
|
||||
end
|
||||
|
||||
def set_todo
|
||||
@todo = Todo.find(params[:todo_id])
|
||||
end
|
||||
|
||||
def set_todo_item
|
||||
@item = @todo.items.find_by!(id: params[:id]) if @todo
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
module V1
|
||||
class TodosController < ApplicationController
|
||||
before_action :set_todo, only: [:show, :update, :destroy]
|
||||
|
||||
# GET /todos
|
||||
def index
|
||||
@todos = current_user.todos
|
||||
json_response(@todos)
|
||||
end
|
||||
|
||||
# POST /todos
|
||||
def create
|
||||
@todo = current_user.todos.create!(todo_params)
|
||||
json_response(@todo, :created)
|
||||
end
|
||||
|
||||
# GET /todos/:id
|
||||
def show
|
||||
json_response(@todo)
|
||||
end
|
||||
|
||||
# PUT /todos/:id
|
||||
def update
|
||||
@todo.update(todo_params)
|
||||
head :no_content
|
||||
end
|
||||
|
||||
# DELETE /todos/:id
|
||||
def destroy
|
||||
@todo.destroy
|
||||
head :no_content
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def todo_params
|
||||
# whitelist params
|
||||
params.permit(:title)
|
||||
end
|
||||
|
||||
def set_todo
|
||||
@todo = Todo.find(params[:id])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
class Article < ApplicationRecord
|
||||
belongs_to :user
|
||||
has_many :comments
|
||||
|
||||
validates_presence_of :title, :post
|
||||
end
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ class User < ApplicationRecord
|
|||
|
||||
has_many :todos, foreign_key: :created_by
|
||||
has_many :articles
|
||||
has_many :comments
|
||||
|
||||
validates_presence_of :name, :email, :password_digest
|
||||
validates_uniqueness_of :email
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
Rails.application.routes.draw do
|
||||
resources :comments
|
||||
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
|
||||
|
||||
scope module: :v2, constraints: ApiVersion.new('v2') do
|
||||
|
|
@ -6,9 +7,6 @@ Rails.application.routes.draw do
|
|||
end
|
||||
|
||||
scope module: :v1, constraints: ApiVersion.new('v1', true) do
|
||||
resources :todos do
|
||||
resources :items
|
||||
end
|
||||
resources :articles
|
||||
end
|
||||
|
||||
|
|
|
|||
14
db/schema.rb
14
db/schema.rb
|
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 20180219100642) do
|
||||
ActiveRecord::Schema.define(version: 20180222154430) do
|
||||
|
||||
create_table "articles", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
|
||||
t.string "title"
|
||||
|
|
@ -21,6 +21,16 @@ ActiveRecord::Schema.define(version: 20180219100642) do
|
|||
t.index ["user_id"], name: "index_articles_on_user_id"
|
||||
end
|
||||
|
||||
create_table "comments", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
|
||||
t.text "content"
|
||||
t.bigint "article_id"
|
||||
t.bigint "user_id"
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["article_id"], name: "index_comments_on_article_id"
|
||||
t.index ["user_id"], name: "index_comments_on_user_id"
|
||||
end
|
||||
|
||||
create_table "items", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
|
||||
t.string "name"
|
||||
t.boolean "done"
|
||||
|
|
@ -46,5 +56,7 @@ ActiveRecord::Schema.define(version: 20180219100642) do
|
|||
end
|
||||
|
||||
add_foreign_key "articles", "users"
|
||||
add_foreign_key "comments", "articles"
|
||||
add_foreign_key "comments", "users"
|
||||
add_foreign_key "items", "todos"
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue