首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未加载SimpleCaptcha映像(无法批量分配受保护的属性)

未加载SimpleCaptcha映像(无法批量分配受保护的属性)
EN

Stack Overflow用户
提问于 2014-02-19 14:09:27
回答 4查看 1.2K关注 0票数 5

问题是simple_captcha不能正常工作。验证码图像未显示。请帮帮忙。

controller.rb

代码语言:javascript
复制
if simple_captcha_valid?
  do something
else
  do something else
end

view.html.rb

代码语言:javascript
复制
<div class="captcha">
  <%= show_simple_captcha(label: "", placeholder: "", code_type: "numeric") %>   
</div>

Gemfile

代码语言:javascript
复制
gem 'simple_captcha2', require: 'simple_captcha'

错误

代码语言:javascript
复制
SimpleCaptcha::SimpleCaptchaData Load (1.3ms)  SELECT "simple_captcha_data".* FROM "simple_captcha_data" WHERE "simple_captcha_data"."key" = '******' ORDER BY "simple_captcha_data"."id" ASC LIMIT 1
**WARNING: Can't mass-assign protected attributes for SimpleCaptcha::SimpleCaptchaData: key**
EN

回答 4

Stack Overflow用户

发布于 2014-03-04 14:35:40

我也有同样的问题(对于Rails3)。但是要解决这个问题,可以添加

simple_captcha_gem_dir/lib/simple_captcha/simple_captcha_data.rb

代码语言:javascript
复制
attr_accessible :key, :value

其中,在我的例子中,simple_captcha_gem_dir~/.rvm/gems/ruby-1.9.3-p484/bundler/gems/simple-captcha-2602bf19a63d

(当然,对于生产环境,您可以创建一个分支,而不是编辑本地gem文件)

票数 4
EN

Stack Overflow用户

发布于 2014-07-24 16:43:47

这是另一个解决方案:

将其放入初始化器(config/initializers/simple_captcha.rb)

代码语言:javascript
复制
Rails.configuration.to_prepare do
  class SimpleCaptcha::SimpleCaptchaData < ::ActiveRecord::Base
    attr_protected
  end
end

感谢@zealot128

票数 4
EN

Stack Overflow用户

发布于 2014-02-19 14:16:27

查看您的调用<%= show_simple_captcha(:label => "", :placeholder => "", :code_type => "numeric") %>,您似乎正在使用基于控制器的simple_captcha实现

我没有看到您的ApplicationController代码,但请确保app/controllers/application.rb中存在以下行

代码语言:javascript
复制
ApplicationController < ActionController::Base
  include SimpleCaptcha::ControllerHelpers
end

更新模型的示例:

代码语言:javascript
复制
class User < ActiveRecord::Base
  apply_simple_captcha
end

class User < ActiveRecord::Base
  apply_simple_captcha :message => "The secret Image and code were different", :add_to_base => true
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21872465

复制
相关文章

相似问题

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