I got a NoMethodError when i called <%= @post.admin_user.name %>, don't 
know how to fix it. 



Extracted source (around line #4):

    <h1><%= @post.title %></h1>
    <p><%= @post.body %></p>
    <small>Post created at <%= @post.created_at.strftime('%b %d. %Y') 
%></small><br/><br/>
    <%= @post.admin_user.name %>
    <p>Category: <%= link_to @post.category.name, 
category_path(@post.category.id) %></p>
    <%= link_to 'Edit Post', edit_post_path %> | <%= link_to 'Go Back', 
posts_path %> |     <%= link_to 'Delete Post', @post, :confirm => "Don't do 
it man!", :method => :delete %>
    </div>



Showing c:/Sites/blog/app/views/posts/show.html.erb where line #5 raised:

undefined method `name' for nil:NilClass


---------------

This is my posts_controller.rb



      class PostsController < ApplicationController
         def index
     @post = Post.all
       
  
      end
   
      def new
     @post = Post.new
     @category = Category.all
      end

   
      def create
      @post = Post.new(post_params)
       if @post.save
       redirect_to posts_path, :notice => 'Your post has been posted!'
       else
       render 'new'
       end
      end
   
   
      def post_params
          params.require(:post).permit(:title, :body, :category_id, 
:admin_user_id, :admin_user, :name)
      end
   
   
      def edit
      @post = Post.find(params[:id])
      end
   
      def update
      @post = Post.find(params[:id])
      if @post.update_attributes(post_params)
         redirect_to post_path, :notice => 'Your post has been updated.'
         else
         render 'new'
        end  
      end
   
      def show
      @post = Post.find(params[:id])
      @user = AdminUser.all
      end
   
      def destroy
      @post = Post.find(params[:id])
          @post.destroy
          redirect_to posts_path, :notice => 'Your post has been deleted.'
       end
   
   
   
   
       end



    




This is my post.rb

    class Post < ActiveRecord::Base
 
      belongs_to :category
  
     belongs_to :admin_user
  

    end

My admin_user.rd

    class AdminUser < ActiveRecord::Base
      # Include default devise modules. Others available are:
      # :confirmable, :lockable, :timeoutable and :omniauthable
      devise :database_authenticatable, 
             :recoverable, :rememberable, :trackable, :validatable
         
       has_many :posts
   
 
    end

-- 
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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/eefca17e-5fad-4f56-bc5e-531551c5cfdc%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to