Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- First argument in form cannot contain nil or be empty
- error messages partial
- <% if object.errors.any? %>
- <div id="error_explanation">
- <div class="alert alert-danger">
- The form contains <%= pluralize(object.errors.count, "error") %>
- </div>
- <ul>
- <% object.errors.full_messages.each do |msg| %>
- <li><%= msg %></li>
- <% end %>
- </ul>
- </div>
- <% end %>
- comment form
- <%= form_for @comment, url: comments_path do |f| %>
- <%= render 'shared/error_messages', object: f.object %>
- <%= f.hidden_field :user_id, value: current_user.id %>
- <%= f.hidden_field :post_id, value: post.id %>
- <%= f.text_area :content, size: "60x2", placeholder: "Comment on this post..." %>
- <%= f.submit "Comment" %>
- <% end %>
- post form
- <%= form_for [@user, @post] do |f| %>
- <%= render 'shared/error_messages', object: f.object %>
- <%= f.text_area :content, size: "60x12", placeholder: "What do you want to say?" %>
- <%= f.submit "Post" %>
- <% end %>
- class CommentsController < ApplicationController
- def index
- @comments = Comment.all
- end
- def new
- @comment = Comment.new
- @user = User.find(params[:user_id])
- end
- def create
- @user = current_user
- #@post = Post.find(params[:post_id])
- @comment = @user.comments.build(comment_params)
- if @comment.save
- flash[:success] = "Comment Posted!"
- redirect_back(fallback_location: root_path)
- else
- flash[:notice] = "Could not post comment"
- redirect_back(fallback_location: root_path)
- end
- end
- private
- def comment_params
- params.require(:comment).permit(:content, :user_id, :post_id)
- end
- end
- class PostsController < ApplicationController
- def index
- @posts = Post.all
- @user = User.find(params[:user_id])
- end
- def new
- @post = Post.new
- @user = User.find(params[:user_id])
- end
- def create
- @post = current_user.posts.build(post_params)
- if @post.save
- flash[:success] = "Posted!"
- redirect_to user_path(current_user)
- else
- flash[:notice] = "Post could not be submitted"
- redirect_to users_path
- end
- end
- private
- def post_params
- params.require(:post).permit(:content)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement