Arthur Truong
Joined
Activity
Hey, I discovered a problem with Rails app. When I run rails db:seed, I generate 10 posts and store them in the database. I also have an API where I pull data as JSON, which gets parsed and data is basically stored in the DB as a post. I run Post.reindex on both of them, however, despite reindexing, the seed.rb generated posts don't show up in the correct order and are always shown first instead of chronological order with the API-derived posts. How do I fix this?
In my posts_controller.rb, I sort the posts by created_at:
@posts = Post.search(query, page: params[:page], per_page: 10, order: { created_at: :asc })
My Rake Task:
namespace :api do
  desc "get jobs from job aggregator api"
  task get_posts: :environment do
      url = *url here*
      req = Net::HTTP::Get.new(url.to_s)
      res = Net::HTTP.start(url.host, url.port) {|http|
        http.request(req)
      }
      response = JSON.parse(res.body)
      Post.where(api: true).delete_all
      response.each do |post| 
        Post.create! do |f|
          f.company = post["company"]
          f.company_logo = post["company_logo"]
          f.description = post["description"]
          f.how_to_apply = post["how_to_apply"]
          f.title = post["title"]
          f.url = post["url"]
          f.api_created_at = post["created_at"]
          f.api = true
          f.user_id = 1 #user is required
          f.published_at = Time.parse(post["created_at"])
        end
      end
      Post.reindex
      p "#{response.count} posts pulled"
  end
end
And my seeds.rb file:
if Rails.env.development? 
  require 'faker'
  @post = Post.create(
    :company => "Tesla", 
    :title => "Tesla Web Engineer Required Immediately!", 
    :url => "http://www.tesla.com", 
    :content => "<div>This is a demo post</div>", 
    :tag_list => "react, node, expressjs",
    :user_id => 1,
    :published_at => DateTime.now.utc,
    :paymentstatus => true
  )
  @post.save!
  20.times do 
    @post2 = Post.create(
      :company => Faker::Company.name, 
      :title => Faker::Job.title, 
      :url => Faker::Company.logo, 
      :content => Faker::Quotes::Shakespeare.hamlet_quote, 
      :tag_list => "#{Faker::Job.field}, #{Faker::Job.field}, node, expressjs",
      :user_id => 1,
      :published_at => DateTime.now.utc,
      :paymentstatus => true
    )
    @post2.save!
  end
  p "done!"
end
            I'm new to rails and I just realised that activestorage doesn't support CDN's..
I'm trying to figure a way how to do multi-image uploads with Shrine using stimulus but I can't seem to find any guides how to do this?
Can someone point me to the right direction
Hi there,
I am following this tutorial to do multiple file uploads with DropboxJS but I don't know how to get multiple images belonging to a model to show in the 'show' page. Only one image shows when I upload multiple images, despite doing a .each in the@post.feature_image array.
Tutorial here:
https://web.archive.org/web/20191223022642/https://web-crunch.com/rails-drag-drop-active-storage-stimulus-dropzone/
Example Repo: https://github.com/justalever/drag_and_drop_active_storage
Changes I have made to get it working: 
_form.html.erb
data-dropzone-max-files="10"
posts/show.html.erb
 <%= link_to @post do %>
    <% @post.feature_image.each do |image| %>
      <%= image_tag image %>
    <% end %>
  <% end %>
models/post.rb
class Post < ApplicationRecord
  belongs_to :user
  has_many_attached :feature_image
end
            Hi there,
I am following this tutorial to do multiple file uploads with DropboxJS but I don't know how to get multiple images belonging to a model to show in the 'show' page. Only one image shows when I upload multiple images, despite doing a .each in the@post.feature_image array.
Tutorial here:
https://web.archive.org/web/20191223022642/https://web-crunch.com/rails-drag-drop-active-storage-stimulus-dropzone/
Example Repo: https://github.com/justalever/drag_and_drop_active_storage
Changes I have made to get it working: 
_form.html.erb
data-dropzone-max-files="10"
posts/show.html.erb
 <%= link_to @post do %>
    <% @post.feature_image.each do |image| %>
      <%= image_tag image %>
    <% end %>
  <% end %>
models/post.rb
class Post < ApplicationRecord
  belongs_to :user
  has_many_attached :feature_image
end