Class: MessagesController

Inherits:
ApplicationController show all
Defined in:
app/controllers/messages_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject

POST /messages POST /messages.json



36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'app/controllers/messages_controller.rb', line 36

def create
  @message = Message.new(message_params)
  @message.user = current_user

  respond_to do |format|
    if @message.save
      format.html { redirect_to @message, notice: 'Message was successfully created.' }
      format.json { render :show, status: :created, location: @message }
    else
      format.html { render :new }
      format.json { render json: @message.errors, status: :unprocessable_entity }
    end
  end
end

#destroyObject

DELETE /messages/1 DELETE /messages/1.json



67
68
69
70
71
72
73
# File 'app/controllers/messages_controller.rb', line 67

def destroy
  @message.destroy
  respond_to do |format|
    format.html { redirect_to messages_url, notice: 'Message was successfully destroyed.' }
    format.json { head :no_content }
  end
end

#editObject

GET /messages/1/edit



31
32
# File 'app/controllers/messages_controller.rb', line 31

def edit
end

#indexObject

GET /messages GET /messages.json



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'app/controllers/messages_controller.rb', line 6

def index
  if user_signed_in? && current_user.name.blank?
    redirect_to edit_profile_url
    return
  end

  if user_signed_in?
    user_ids = current_user.observe_users.pluck(:id) + [current_user.id]
    @messages = Message.where(user_id: user_ids)
  else
    @messages = Message.all
  end
end

#newObject

GET /messages/new



26
27
28
# File 'app/controllers/messages_controller.rb', line 26

def new
  @message = Message.new
end

#showObject

GET /messages/1 GET /messages/1.json



22
23
# File 'app/controllers/messages_controller.rb', line 22

def show
end

#updateObject

PATCH/PUT /messages/1 PATCH/PUT /messages/1.json



53
54
55
56
57
58
59
60
61
62
63
# File 'app/controllers/messages_controller.rb', line 53

def update
  respond_to do |format|
    if @message.update(message_params)
      format.html { redirect_to @message, notice: 'Message was successfully updated.' }
      format.json { render :show, status: :ok, location: @message }
    else
      format.html { render :edit }
      format.json { render json: @message.errors, status: :unprocessable_entity }
    end
  end
end