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