Add description as comment on topic.
This commit is contained in:
@@ -44,7 +44,7 @@ class TopicsController < ApplicationController
|
||||
private
|
||||
|
||||
def topic_params
|
||||
params.require(:topic).permit(:title, :community_id)
|
||||
params.require(:topic).permit(:title, :community_id, :description_as_comment)
|
||||
end
|
||||
|
||||
def set_community
|
||||
|
||||
@@ -6,4 +6,12 @@ class Topic < ActiveRecord::Base
|
||||
belongs_to :author, -> { with_hidden }, class_name: 'User', foreign_key: 'author_id'
|
||||
|
||||
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
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
<div class="small-12 column">
|
||||
<%= f.label :title, t("topic.form.topic_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 class="actions small-12 column">
|
||||
|
||||
@@ -2,6 +2,7 @@ class CreateTopics < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :topics do |t|
|
||||
t.string :title, null: false
|
||||
t.text :description_as_comment
|
||||
t.integer :author_id
|
||||
t.integer "comments_count", default: 0
|
||||
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
|
||||
|
||||
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 "comments_count", default: 0
|
||||
t.integer "comments_count", default: 0
|
||||
t.integer "community_id"
|
||||
t.datetime "hidden_at"
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
end
|
||||
|
||||
add_index "topics", ["community_id"], name: "index_topics_on_community_id", using: :btree
|
||||
|
||||
Reference in New Issue
Block a user