Rails:create方法中的第三方API调用?

时间:2018-10-06 21:48:27

标签: ruby-on-rails ruby crud faker

您好,我是Ruby On Rails的新手。到目前为止,已经通过了一些基本的原始应用程序,现在我正尝试为它加香料。

我正在做一个非常基本的应用程序,用于保存文章并在其上留下注释。但是,我不是使用典型的方法,而是编写自己的文章,然后提交格式,而是使用第三方随机数据生成器为我生成文章。

它带有一些有趣的标题和一些ipsum主体 例如:
猴子的雨衣。
Harum accusamus delectus animi。

我已使用第三方api在db / seeds.rb中生成我的种子数据

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

目前,我想在我的Articles控制器的create方法中做一些非常相似的事情。现在,我的“新建”视图中有一个按钮,我想触发上述的创建方法

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”

但这只是在不知道要初始化的文件的情况下结束而已

我很难理解为什么我的种子文件无需输入即可识别“ Faker”就没问题,但是我的控制器不知道如何处理。

我要把这全部弄错吗?

0 个答案:

没有答案