我正在尝试使用carrierwave在RoR中创建一个表单,我收到以下错误:
**undefined method `persisted?' for Code(Table doesn't exist):Class**
以下是我的表单中的代码:
= form_for Code, :as => :code, :html => {:multipart => true} do |f|
p
= f.file_field :code
p
= f.submit
有问题的一行是:
= f.submit
这是我的模特:
class Code < ActiveRecord::Base
attr_accessor :name, :code
mount_uploader :code, CodeUploader
end
如果有人能告诉我为什么(表不存在)出现,我也会很高兴。
欢迎任何想法,感谢读者和回答者。 {:
答案 0 :(得分:0)
您应该将类的实例传递给form_for
方法
= form_for Code.new, :as => :code, :html => {:multipart => true} do |f|
答案 1 :(得分:0)
使用以下命令运行db迁移:
bundle exec rake db:migrate
这将修复“表不存在”消息。
然后,使用Code
替换表单中的Code.new
,它应该有效:
= form_for Code.new, :as => :code, :html => {:multipart => true} do |f|
我还建议你学习一些关于Rails的基础知识。