我希望将其标记为不可见,而不是删除指南(因此它仍在我的数据库中,但用户不会看到它列出)。这有几个主要问题
- 我似乎无法从视图中删除指南
- 当我尝试查看我的管理员端 - 指南时,我收到错误
ActionView::Template::Error(未定义的方法 `comment_ids_contains' for #):
我怀疑没有 2 是不相关的,但在我进行以下更改之前并没有给我造成问题。在我的guidelines.rb 模型中,我添加了
default_scope where(:visible => true)
attr_accessible :visible
在 guideline_controller.rb 我将销毁和创建操作更改为
def destroy
@guideline = Guideline.find(params[:id])
@guideline.visible=false
#@guideline.destroy
respond_to do |format|
format.html { redirect_to guidelines_url }
format.json { head :no_content }
end
end
def create
@guideline = current_user.guidelines.new(params[:guideline])
@guideline.visible=true
respond_to do |format|
if @guideline.save
format.html { redirect_to @guideline, notice: 'Guideline was successfully created.' }
format.json { render json: @guideline, status: :created, location: @guideline }
else
@specialties = Guideline.order(:specialty).uniq.pluck(:specialty)
format.html { render action: "new" }
format.json { render json: @guideline.errors, status: :unprocessable_entity }
end
end
end
在 admin/guidelines.rb 我添加
column :visible
我添加了一个数据库迁移
class AddVisibleColumnToGuidelines < ActiveRecord::Migration
def change
add_column :guidelines, :visible, :boolean
end
end