我有一个模型,category_count,我想属于2个模型,一个文章模型和一个类别模型。当我尝试访问服务器/管理员/文章时,我得到一个错误未初始化的常量Article::CategoryCount。我使用active_admin进行管理。当我这样做时:服务器/文章/1/category_counts我也得到一个错误未初始化的常量类别CountsController我使用Rails 4
这是我category_count的迁移
class CreateCategoryCounts < ActiveRecord::Migration
def change
create_table :category_counts do |t|
t.date :date
t.belongs_to :category_countable, polymorphic: true
t.timestamps
end
add_index :category_counts, :category_countable_id
end
end
在我的模型/文章中。rb和型号/类别。rb我已设置:
has_many:category_counts,::category_countable
在我的模型/类别中,U计数。rb我已设置:
属于:category\u countable,多态:true
我的category\u count\u控制器。rb如下:
class CategoryCountController < ApplicationController
before_filter :load_category_countable
def index
@category_counts = @category_countable.category_counts
end
def new
@category_counts = @category_countable.category_counts.new
end
def create
@category_count = @category_countable.category_counts.new(params[:category_count])
if @category_count.save
redirect_to [@category_countable, :category_counts], notice: "Category Count created."
else
render :new
end
end
private
def load_category_countable
klass= [Article, Category].detect {|c| params["#{c.name.underscore}_id"]}
@category_countable = klass.find(params["#{klass.name.underscore}_id"])
end
end
很可能您已将资源定义为
资源:category_计数
您会收到错误消息,因为路由正在查找服务器/文章/1/category_counts
。请注意复数**category_counts**。如果您仔细查看错误消息未初始化常量
类别CountsController,路由正在查找复数类别CountsController
要修复此问题,请重命名控制器
class CategoryCountsController < ApplicationController ## plural controller name
...
end
此外,确保将控制器文件名重命名为category\u counts\u controller。rb再次复数。
注:根据rails惯例,controoller名称应为复数。
我希望有人能帮助我解决我在尝试使用factory_girl时收到的未初始化常量错误的问题。我知道类似的问题已经发布在堆栈溢出上,我试图在这些帖子中找到解决方案,但无济于事。 我有一个非rails项目,我正在使用rspec进行测试。我希望使用factory_girl来创建测试数据。 所以我把我的工厂定义在一个名为users.rb的文件中,在spec/工厂文件夹中。工厂如下: 终止 然后我做了一个测试
没有安装 San-CLI 需要安装 npm i -g san-cli 快速创建 san init <app-name> 创建的是 san 项目。 app-name 是要创建的工程项目目录,可以为.(即在当前目录下创建)。 指定脚手架创建 san init <template> <app-name> template 是工程项目脚手架地址,支持 github、icode、gitlab 等 re
项目初始化 俗话说磨刀不误砍柴工,在开始之前要完成一些准备工作以便移植其他框架的组件,首先我们得把框架给安装好,easySwoole是一个非常易于使用的框架,安装一样很简单,只需要切换到项目根目录 //命令行快速安装 bash <(curl https://www.easyswoole.com/installer.sh) //OR curl https://www.easyswoole.com/i
我假设使用以下元素按以下顺序构建一个字节数组: 对称加密的AES密钥(对于AES 128有一个随机密钥,对于AES 128有一个随机初始化向量。在CBC模式下使用AES 128和PKCS5填充进行加密。在加密之前,文本用UTF-8进行编码) AES IV 加密消息(使用ECB模式下的RSA算法和PKCS1填充、先前生成的密钥和消息收件人的公钥) 我正在做的是获取每个参数的长度,以便创建新的byte
我在这里看到过类似的问题,如果这看起来像是重复的,我很抱歉,但是类似问题的答案对我没有帮助。所以我有一个方法,它是类的一部分。这里是: 错误表明变量min可能尚未初始化。我不明白这怎么可能是真的。我觉得变量不可能不在for循环之外初始化。请帮忙。谢谢