我有一个指南,其中包含了很多指南。
guide.rb:
class Guide < ActiveRecord::Base
belongs_to :user
has_many :guide_pics, dependent: :destroy
accepts_nested_attributes_for :guide_pics
end
guide_pic.rb:
class GuidePic < ActiveRecord::Base
belongs_to :guide
validates :guide_id, presence: true
validate :picture_size
default_scope -> { order(created_at: :desc) }
mount_uploader :picture, PictureUploader
end
上传者位于编辑指南视图中。
上传图片会进入我的指南控制器更新功能。我的guide_pics控制器中没有任何内容。
它正确地添加了图片,但我对如何编写测试以验证图片上传感到困惑。我想我必须修补guide_path,所以我尝试了这个:
test "add guide pic" do
log_in_as(@user)
guide = @user.guide
get edit_guide_path(guide)
pic = fixture_file_upload('Can Tho-0676.jpg', 'image/jpg')
assert_difference 'GuidePic.count', 1 do
patch guide_path(guide), guide: { picture: pic }
end
end
补丁不会引发错误。但它没有为guide.guide_pics添加图片。