Add description as comment on topic.
This commit is contained in:
@@ -44,7 +44,7 @@ class TopicsController < ApplicationController
|
|||||||
private
|
private
|
||||||
|
|
||||||
def topic_params
|
def topic_params
|
||||||
params.require(:topic).permit(:title, :community_id)
|
params.require(:topic).permit(:title, :community_id, :description_as_comment)
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_community
|
def set_community
|
||||||
|
|||||||
@@ -6,4 +6,12 @@ class Topic < ActiveRecord::Base
|
|||||||
belongs_to :author, -> { with_hidden }, class_name: 'User', foreign_key: 'author_id'
|
belongs_to :author, -> { with_hidden }, class_name: 'User', foreign_key: 'author_id'
|
||||||
|
|
||||||
has_many :comments, as: :commentable
|
has_many :comments, as: :commentable
|
||||||
|
|
||||||
|
after_create :associate_comment
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def associate_comment
|
||||||
|
Comment.create(commentable: self, user: self.author, body: self.description_as_comment)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -6,6 +6,8 @@
|
|||||||
<div class="small-12 column">
|
<div class="small-12 column">
|
||||||
<%= f.label :title, t("topic.form.topic_title") %>
|
<%= f.label :title, t("topic.form.topic_title") %>
|
||||||
<%= f.text_field :title %>
|
<%= f.text_field :title %>
|
||||||
|
<%= f.label :description_as_comment, t("topic.form.topic_description_as_comment") %>
|
||||||
|
<%= f.text_area :description_as_comment, maxlength: Comment.body_max_length %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="actions small-12 column">
|
<div class="actions small-12 column">
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ class CreateTopics < ActiveRecord::Migration
|
|||||||
def change
|
def change
|
||||||
create_table :topics do |t|
|
create_table :topics do |t|
|
||||||
t.string :title, null: false
|
t.string :title, null: false
|
||||||
|
t.text :description_as_comment
|
||||||
t.integer :author_id
|
t.integer :author_id
|
||||||
t.integer "comments_count", default: 0
|
t.integer "comments_count", default: 0
|
||||||
t.references :community, index: true
|
t.references :community, index: true
|
||||||
|
|||||||
@@ -891,13 +891,14 @@ ActiveRecord::Schema.define(version: 20170807082243) do
|
|||||||
add_index "tags", ["spending_proposals_count"], name: "index_tags_on_spending_proposals_count", using: :btree
|
add_index "tags", ["spending_proposals_count"], name: "index_tags_on_spending_proposals_count", using: :btree
|
||||||
|
|
||||||
create_table "topics", force: :cascade do |t|
|
create_table "topics", force: :cascade do |t|
|
||||||
t.string "title", null: false
|
t.string "title", null: false
|
||||||
|
t.text "description_as_comment"
|
||||||
t.integer "author_id"
|
t.integer "author_id"
|
||||||
t.integer "comments_count", default: 0
|
t.integer "comments_count", default: 0
|
||||||
t.integer "community_id"
|
t.integer "community_id"
|
||||||
t.datetime "hidden_at"
|
t.datetime "hidden_at"
|
||||||
t.datetime "created_at", null: false
|
t.datetime "created_at", null: false
|
||||||
t.datetime "updated_at", null: false
|
t.datetime "updated_at", null: false
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "topics", ["community_id"], name: "index_topics_on_community_id", using: :btree
|
add_index "topics", ["community_id"], name: "index_topics_on_community_id", using: :btree
|
||||||
|
|||||||
Reference in New Issue
Block a user