1

我是 Rails 新手,似乎无法找到问题所在。我已经在谷歌上搜索了一段时间并在这里搜索。我想我只是错过了一些我没有抓住的非常简单的东西。

我收到的错误消息是。

“无法批量分配受保护的属性:图像”

根据“应用程序框架”的错误位于第 13 行附近的照片控制器中。

8     @photo = Photo.new
9     @gallery = Gallery.find(params[:gallery_id])
10   end
11 
12   def create
13     @photo = Photo.new(params[:photo])
14 
15     if @photo.save
16       flash[:notice] = "photo uploaded."
17       redirect_to galleries_url
18     else

在我的 photo.rb 页面中,我有以下内容:

class Photo < ActiveRecord::Base

    attr_accessible :name, :photo

    has_many :photos
    validates_presence_of :title
    validates_uniqueness_of :title

    belongs_to :gallery

end

有人可以帮我指出正确的方向吗?

谢谢!

4

1 回答 1

1

params[:photo]包括一把:image钥匙。

Photo.new({ hash of things including an :image key })正在尝试:image在新的Photo.

假设该模型甚至有一个:image属性,您需要attr_accessible :image在模型上进行设置,以便 Rails 允许您:image在任何向其传递属性哈希的操作中进行设置。

有关背景信息,请参阅Rails 属性安全指南

于 2013-06-06T20:51:30.373 回答