2013-06-06 4 views
1

Я новичок в рельсах и просто не могу найти проблему. Я уже давно искал поисковые запросы и искал здесь. Я думаю, что я просто пропустил что-то очень простое, что я не поймал.Невозможно назначить защищенные атрибуты: image

Сообщение об ошибке, которое я получаю, есть.

«Может защищенные не массовое назначение атрибутов: изображение»

Ошибки в соответствии с «Frames Applications» находится в фото контроллера здесь вокруг линии 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 

Может кто-нибудь помочь указать мне в правильном направлении?

Спасибо!

+1

Что такое 'образ'? Это атрибут фотографии? –

+0

показать вам схему db, пожалуйста. – uday

+0

Не могли бы вы высказать свое мнение? – usha

ответ

1

params[:photo] включает в себя ключ :image.

Photo.new({ hash of things including an :image key }) пытается установить атрибут :image на новый Photo.

Если предположить, что даже в :image атрибут для этой модели, вам необходимо установить attr_accessible :image на модели для того, чтобы Rails, чтобы установить :image в любой операции, где вы передаете его хэш атрибутов.

Для получения дополнительной информации см. Rails attribute security guide.

Смежные вопросы