首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >管理员用户的批量分配错误问题

管理员用户的批量分配错误问题
EN

Stack Overflow用户
提问于 2012-07-13 00:04:41
回答 1查看 120关注 0票数 0

我尝试按照railscasts教程来为管理员解释如何处理批量赋值错误和attr_accessible,但由于这有点过时了,我正在尝试学习3.2.6 here的rails API dock中的内容。

我所要做的就是允许管理员用户在更新操作中访问Proposal Model的"winning“属性。

这是我的提案模型,显示了当前的attr_accessible。

代码语言:javascript
复制
class Proposal < ActiveRecord::Base
attr_accessible :email, :email_confirmation, :link, :name, :references, :short_description

belongs_to :idea

以下是Proposal Controller的Update操作的代码。

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-13 00:39:18

看看这个Railscast。我在Admin field Boolean中也遇到了类似的问题,我不希望任何用户通过发送curl post来规避安全性。如果用户是管理员,那么它给了他们访问该字段的能力,否则批量分配将保护该字段不被修改。

http://railscasts.com/episodes/237-dynamic-attr-accessible?view=asciicast

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11455961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档