John
John

Reputation: 275

Change params inside controller rails

How can I change params inside controller?

When I click the accept it will pass the status is approved but if diff <= 0 change status to rejected

View

<%= link_to 'Accept', friend_path(s, :request => {:status => 'Accepted'}), method: :put  %>

into this

    if diff <= 0
     req_params[:status] = "Rejected" 
     @request.update(req_params)
    end
end 

private 
 def req_params
    params.require(:request).permit(:status)
 end

end

Upvotes: 6

Views: 11187

Answers (1)

To modify your status param, you need to do the following:

params[:request][:status] = 'Rejected' 

or

req_params[:request][:status] = 'Rejected'

Because your request take params like this:

Parameters => { some_param => 'Something', required => { permited1 => 'bla', 
                                                     permited2 => 'bla2',
                                                    ... } }

I hope that helps you

Upvotes: 10

Related Questions