0
在此插入强制性的“我是Rails新手”评论。Rails 4.0未定义方法`[]'为零:NilClass
TL; DR:不能.create或模型
我的基本结构是用户应该能够有多个注释,这将有由“回形针”宝石处理附件。新的实例。不过,我似乎无法能够真正创建注释:
undefined method `[]' for nil:NilClass
def create
@user = User.find(params[:user_id])
@note = @user.notes.create(params[:note].permit(:topic, :class, :content))
redirect_to user_path(@user)
end
这是从注控制器来了,在我使用@ user.notes.create行发生错误。我将问题归结为音符在开始时是空的,由于某些原因,“创建”调用在空的音符数组上失败。有趣的是,Note.new也失败了,如果我只是尝试实例化一个空的音符来处理相同的错误。
模型以供参考:
class Note < ActiveRecord::Base
belongs_to :user
has_attached_file :content,
:storage => 's3',
:bucket => ENV['AWS_BUCKET'],
:path => "uploads/:attachment/:id/:styles.:extension",
:styles => {
:medium => "300x300>",
:thumb => "100x100>" },
:s3_credentials => {
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'] },
:s3_permissions => 'public-read'
end
class User < ActiveRecord::Base
has_many :notes
validates_presence_of :username
validates_presence_of :email
validates_presence_of :school
validates_format_of :email, :with => /\A[-a-z0-9_+\.]+\@([-a-z0-9]+\.)+[a-z0-9] {2,4}\z/i
end
让我知道是否需要任何更多的信息,第一次Rails的用户,第一次堆栈交易所海报:)
你明白了,谢谢! – Longhorns747