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