你好,我需要使用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
您需要使用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_accessible。
更多信息请访问doc