Rails: сторонний вызов API в методе создания? - PullRequest
0 голосов
/ 07 октября 2018

Здравствуйте, я новичок в Ruby On Rails.К этому моменту я прошел через несколько основных приложений, и теперь я пытаюсь их оживить.

Я делаю довольно простое приложение, чтобы сохранять статьи и оставлять на них заметки.Но вместо типичного, напишите свою собственную статью и затем отправьте формат, я использую сторонний генератор случайных данных, чтобы генерировать статьи для меня.

он предлагает несколько довольно забавных титулов и немного ипсума, например:
Плащ обезьяны.
Harum accusamus delectus animi.

Я использовал сторонний API для генерациимои начальные данные в db / seeds.rb

5.times do 
Article.create({
    title: Faker::Book.title,
    body: Faker::Lorem.sentence
})
end

В настоящее время я хочу сделать нечто очень похожее в методе создания моего контроллера Articles.Прямо сейчас у меня есть кнопка в моем новом представлении, что я хочу вызвать упомянутый метод создания, упомянутый

class ArticlesController < ApplicationController
def index
    @articles = Article.order('created_at DESC');
    # render json: {status: 'SUCCESS', message:'Loaded articles', data:@articles},status: :ok
end

def show
    @article = Article.find(params[:id])
end

def create 
    @article = Article.create({
        title: Faker::Book.title,
        body: Faker::Lorem.sentence
        })

        if(@article.save)
            redirect_to @article
       else
           render 'new'
       end
end

def destroy
    @article = Article.find(params[:id])
    @article.destroy
    render json: {status: 'SUCCESS', message:'Deleted article', data:@article},status: :ok
end

def update
    @article = Article.find(params[:id])
    if @article.update_attributes(article_params)
        render json: {status: 'SUCCESS', message:'Updated article', data:@article},status: :ok
    else
        render json: {status: 'ERROR', message:'Article Not Updated',
        data:@article.errors},status: :unprocessable_entity
    end
end

private

def article_params
    params.permit(:title, :body)      
end
end

В настоящее время он дает мне эту ошибку: неинициализированная константа ArticlesController :: Faker

Таким образом, будучиНуб, что я, мой вопрос заключается в следующем: как мне требовать в пакетах Gem (очевидно, я пришел из фона узла), как мне нужно?

Я пытался сделать: требуется 'faker'

Но это просто закончилось тем, что рельсы не знали об этом файле для инициализации

У меня проблемы с пониманием того, почему мой файл seed имелнет проблем с распознаванием «Faker» без необходимости чего-либо, но мой контроллер не знает, что с ним делать.

Я все делаю неправильно?

...