Linards Berzins

Joined

140 Experience
0 Lessons Completed
0 Questions Solved

Activity

Thank you Jack, will have to dig deeper.
Actually not, the state of the solved action here is a bit misleading. Its really solved when a green border is around the question, here its not. 

Thank you for looking into this Jack. 

The problem still persists, the Portfolios page on mobile is just scaled down, not applying the Bootstrap responsive grid. As you can notice form the console, there are plenty of declarations  that are dropped. 

thanks
Hi, 
I was trying to figure out this Declaration dropped on a live webpage https://lb-webportfolio.herokuapp.com/portfolios in the Console. It is all fine on the localhost, however after deploying to heroku, got this message. Any advice on that? portfolios page is the only one affected, rest are fine. 

Thanks

Thank you Jacob,

its been sorted now.

Much appreciated!

Thanks Jack,

blog_id is being added actually

blogs_channel.rb

class BlogsChannel < ApplicationCable::Channel
  def subscribed
    stream_from "blogs_#{params['blog_id']}_channel"
  end
  def unsubscribed
  end
  def send_comment(data)
    current_user.comments.create!(content: data['comment'], blog_id: data['blog_id'])
  end
end

blogs_controller.rb

def show
   @blog = Blog.includes(:comments).friendly.find(params[:id])
   @comment = Comment.new
end

show.html.erb

<div class="col-sm-8 blog-main">
    <h2> <%= @blog.title %></h2>
    <%= link_to 'Edit', edit_blog_path(@blog) if logged_in?(:site_admin) %>
    <p><%= @blog.body %></p>

    <%= render 'comments/comment_form' %>

    <div id="comments" data-blog-id="<%= @blog_id %>">
        <%= render @blog.comments %>
    </div>
</div>

I can create the comment in terminal:

[2] pry(main)> Comment.create!(user_id: User.last.id, blog_id: Blog.last.id, content: "1234567")
  User Load (0.4ms)  SELECT  "users".* FROM "users" ORDER BY "users"."id" DESC LIMIT $1  [["LIMIT", 1]]
  Blog Load (0.2ms)  SELECT  "blogs".* FROM "blogs" ORDER BY "blogs"."id" DESC LIMIT $1  [["LIMIT", 1]]
   (0.1ms)  BEGIN
  User Load (0.2ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2  [["id", 1], ["LIMIT", 1]]
  Blog Load (0.1ms)  SELECT  "blogs".* FROM "blogs" WHERE "blogs"."id" = $1 LIMIT $2  [["id", 20], ["LIMIT", 1]]
  SQL (54.8ms)  INSERT INTO "comments" ("content", "user_id", "blog_id", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id"  [["content", "1234567"], ["user_id", 1], ["blog_id", 20], ["created_at", "2018-02-02 05:45:37.058157"], ["updated_at", "2018-02-02 05:45:37.058157"]]
   (9.1ms)  COMMIT
Enqueued CommentBroadcastJob (Job ID: 22604b93-a864-4213-a348-0e0da6c69ee0) to Async(default) with arguments: #<GlobalID:0x007f93f1e3cfb0 @uri=#<URI::GID gid://web-portfolio/Comment/7>>
=> #<Comment:0x007f93f52996f0
 id: 7,
 content: "1234567",
 user_id: 1,
 blog_id: 20,
 created_at: Fri, 02 Feb 2018 05:45:37 UTC +00:00,
 updated_at: Fri, 02 Feb 2018 05:45:37 UTC +00:00>
[3] pry(main)>   Comment Load (0.4ms)  SELECT  "comments".* FROM "comments" WHERE "comments"."id" = $1 LIMIT $2  [["id", 7], ["LIMIT", 1]]
Performing CommentBroadcastJob (Job ID: 22604b93-a864-4213-a348-0e0da6c69ee0) from Async(default) with arguments: #<GlobalID:0x007f93f0fd68b8 @uri=#<URI::GID gid://web-portfolio/Comment/7>>
  Blog Load (0.3ms)  SELECT  "blogs".* FROM "blogs" WHERE "blogs"."id" = $1 LIMIT $2  [["id", 20], ["LIMIT", 1]]
  Rendered comments/_comment.html.erb (1.7ms)
[ActionCable] Broadcasting to blogs_20_channel: {:comment=>"\t<div class=\"comment-card\">\n\t\t<div class=\"card\">\n\t\t\t<div class=\"card-block\">\n\t\t\t\t<div class=\"row\">\n\t\t\t\t\t<div class=\"col-md-1\">\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"col-md-11\">\n\t\t\t\t\t\t1234567\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>"}
Performed CommentBroadcastJob (Job ID: 22604b93-a864-4213-a348-0e0da6c69ee0) from Async(default) in 424.54ms

Hi,

trying to sort out this error for a while now, no luck.

I get this error above when adding a new comment for a blogpost. The blog is clearly there. Any insight would be much appreciated.

_comment.html.erb

<div class="comment-card">
    <div class="card">
        <div class="card-block">
            <div class="row">
                <div class="col-md-1">
                </div>
                <div class="col-md-11">
                    <%= comment.content %>
                </div>
            </div>
        </div>
    </div>
</div>

_comment_form.html.erb

<% unless current_user.is_a? GuestUser %>
  <%= form_for @comment, url: '#' do |f| %>
    <div class="form-group">
      <%= f.label :content %>
      <%= f.text_area :content, class: 'form-control' %>
    </div>
    <%= f.submit 'Post Comment', class: 'btn btn-primary' %>
  <% end %>
<% end %>

comment.rb

class Comment < ApplicationRecord
  belongs_to :user
  belongs_to :blog
  validates :content, presence: true, length: { minimum: 5, maximimum: 1000 }
  after_create_commit { CommentBroadcastJob.perform_later(self) }
end

comment_controller.rb

class CommentsController < ApplicationController
  def create
    @comment = current_user.comments.build(comment_params)
  end
  private
  def comment_params
    params.require(:comment).permit(:content)
  end
end

blogs_controller.rb

  def show
    @blog = Blog.includes(:comments).friendly.find(params[:id])
    @comment = Comment.new
    @page_title = @blog.title
    @seo_keywords = @blog.body
  end

Terminal output:
Could not execute command from ({"command"=>"message", "identifier"=>"{\"channel\":\"BlogsChannel\",\"blog_id\":\"\"}", "data"=>"{\"comment\":\"sdgergre\",\"blog_id\":\"\",\"action\":\"send_comment\"}"}) [ActiveRecord::RecordInvalid - Validation failed: Blog must exist]:

logo Created with Sketch.

Ruby on Rails tutorials, guides, and screencasts for web developers learning Ruby, Rails, Javascript, Turbolinks, Stimulus.js, Vue.js, and more. Icons by Icons8

© 2021 GoRails, LLC. All rights reserved.