我有一个名为文章的模型,它有一个字符串字段,允许用户将他们的文章设置为草稿。选择草稿并更新帖子时,我希望它返回文章编辑页面,好像用户选择了已发布的选项一样,我希望将用户重定向到文章索引页面。
问题是如果选择草稿选项,我无法让文章更新并重定向回帖子。我是以错误的方式接近这个吗?
迁移文件
def change
add_column :articles, :status, :string, default: 'Draft'
end
文章.rb
scope :submitted, lambda { where('status = ?', 2) }
scope :draft, lambda{ where('status = ?', 1) }
def is_draft?
self.draft
end
物品控制器
def update
case @article.status
when 1
@article.status = 'Draft'
else 2
@article.status = 'Published'
end
if @article.status == 1
@article = article.find(params[:id])
flash[:notice] = "Successfully Updated" if @article.update_attributes(params[:article])
respond_with(@article, :location => edit_article_path)
else
@article = article.find(params[:id])
flash[:notice] = "Successfully Updated" if @article.update_attributes(params[:article])
respond_with(@article, :location => articles_path)
end
end