Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Comment < ActiveRecord::Base
- belongs_to :post
- belongs_to :user
- end
- class Post < ActiveRecord::Base
- belongs_to :user
- has_many :comments
- end
- class User < ActiveRecord::Base
- devise :database_authenticatable, :registerable,
- :recoverable, :rememberable, :trackable, :validatable
- attr_accessible :email, :password, :password_confirmation, :remember_me
- has_many :posts
- has_many :comments
- end
- undefined method `email' for nil:NilClass
- 1: <p>
- 2: <% @post.comments.each do |comment| %>
- 3: <b>Comment written by:</b> <%= comment.user.email %><br />
- 4: <%= comment.body %><br />
- 5: <% end %>
- 6:
- create_table "comments", :force => true do |t|
- t.integer "post_id"
- t.integer "user_id"
- t.text "body"
- .... truncated
- end
- create_table "posts", :force => true do |t|
- t.integer "user_id"
- t.integer "sell_or_buy"
- t.string "title"
- t.text "body"
- .... truncated
- end
- create_table "users", :force => true do |t|
- t.string "email", :default => "", :null => false
- t.string "encrypted_password", :limit => 128, :default => "", :null => false
- .... truncated
- end
- class CommentsController < ApplicationController
- def create
- @post = Post.find(params[:post_id])
- @comment = @post.comments.create(params[:comment])
- @comment.user_id = current_user.id
- redirect_to post_path(@post)
- end
- end
- def create
- @post = Post.find(params[:post_id])
- @comment = @post.comments.new(params[:comment])
- @comment.user_id = current_user.id
- @comment.save
- redirect_to post_path(@post)
- end
Add Comment
Please, Sign In to add comment