Ruby on Rails Thursday, December 18, 2014

The normal devise routes work users_sign_out_path,
edit_user_registration_path, etc
I can't seem to route to the controller for profiles. I'd like to use
the index/show actions to display the user profile publicly.

Here is my controller setup.

class ProfilesController < ApplicationController
before_action :set_profile, only: [:show, :edit, :update, :destroy]

# GET /profiles
# GET /profiles.json
def index
@profiles = Profile.all
end

# GET /profiles/1
# GET /profiles/1.json
def show
@user = User.find(params[:id])

respond_to do |format|
format.html
format.json {render :json => @user }
end
end

# GET /profiles/1/edit
def edit
end

# PATCH/PUT /profiles/1
# PATCH/PUT /profiles/1.json
def update
respond_to do |format|
if @profile.update(profile_params)
format.html { redirect_to @profile, notice: 'Profile was
successfully updated.' }
format.json { render :show, status: :ok, location: @profile }
else
format.html { render :edit }
format.json { render json: @profile.errors, status:
:unprocessable_entity }
end
end
end

# DELETE /profiles/1
# DELETE /profiles/1.json
def destroy
@profile.destroy
respond_to do |format|
format.html { redirect_to profiles_url, notice: 'Profile was
successfully destroyed.' }
format.json { head :no_content }
end
end

private
# Use callbacks to share common setup or constraints between
actions.
def set_profile
@profile = Profile.find(params[:id])
end

# Never trust parameters from the scary internet, only allow the
white list through.
def profile_params
params[:profile]
end
end

routes.rb
resources :profiles
It gives me a method undefined error when I use the links for the
controller. Help me figure this out please. I'm pretty sure someone has
come across this problem.

--
Posted via http://www.ruby-forum.com/.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/d5bf18421d9215c7bc445853faefa225%40ruby-forum.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment