0
我试图遵循railscasts教程,该教程解释了如何处理管理员的质量分配错误和attr_accessible,但由于这有点过时,我正在尝试关注内容rails API dock for 3.2.6 here。管理员用户的质量分配错误的问题
我想要做的就是让管理员用户能够在更新操作中访问建议模型的“获胜”属性。
这是我的建议模型,显示当前的attr_accessible。
class Proposal < ActiveRecord::Base
attr_accessible :email, :email_confirmation, :link, :name, :references, :short_description
belongs_to :idea
这里是我的代码为Proposal控制器的更新操作。
class ProposalsController < ApplicationController
include ActiveModel::MassAssignmentSecurity
attr_accessible :email, :email_confirmation, :link, :name, :references, :short_description
attr_accessible :email, :email_confirmation, :link, :name, :references, :short_description, :winning, :as => :admin
def update
@idea = Idea.find(params[:idea_id])
@proposal = @idea.proposals.find(params[:id])
if @proposal.update_attributes(proposal_params)
redirect_to idea_proposals_url(@idea)
else
render 'edit'
end
end
protected
def proposal_params
role = current_user.admin ? :admin : :default
sanitize_for_mass_assignment(params[:proposal], role)
end
我试图实现,但即时得到这个错误:未定义的方法'管理员” – sacshu 2012-07-12 17:18:02
你的表中有一个名为'admin'的布尔字段吗? – kobaltz 2012-07-12 17:35:08