attr_accessible для Rails 4

Здравствуйте, мне нужно использовать attr_accessible или что-то в этом роде. И я новичок в Ruby On Rails

Это мое post.rb файл

    class Post < ActiveRecord::Base
  has_many :comments

  attr_accessible :body, :title, :published, :author, :author_id
  belongs_to :author, :class_name => "AdminUser"


  validates_presence_of :body,:title
  scope :published, where(:published => true)

  def content
    MarkdownService.new.render(body)
  end

  def author_name
    if author
      author.name
    else
      "Nobody"
    end
  end


end

что я могу сделать для attr_accesible спасибо за ваши ответы.

2 ответа

Решение

Вам нужно будет использовать Strong Params за это:

#app/models/post.rb
class Post < ActiveRecord::Base
  has_many :comments
  belongs_to :author, :class_name => "AdminUser"

  validates_presence_of :body,:title
  scope :published, where(:published => true)

  def content
    MarkdownService.new.render(body)
  end

  def author_name
    if author
      author.name
    else
      "Nobody"
    end
  end


end

#app/controllers/posts_controller.rb
def new
    @post = Post.new
end

def create
    @post = Post.new(post_params)
end

private

def post_params
    params.require(:post).permit(:body, :title, :published, :author, :author_id)
end

Rails4 использует сильные параметры, а не attr_accessibles.

Для получения дополнительной информации посетите док

Другие вопросы по тегам