Tag: 装饰

无法登录用户资源 – 设计/ sessionsController #create中的NoMethod错误

我对Rails 3和Devise有一个特殊的问题。 我的Rails应用程序有3种用户类型: 客户,所有者和管理员 routes.rb中: devise_for :admins devise_for :owners devise_for :clients application_controller.rb: def after_sign_in_path_for(resource) if resource == “client” “/client_accounts/” + current_client.id.to_s elsif resource == “admin” stored_location_for(:admins) || “/admin/control_panel” elsif resource == “owner” stored_location_for(:owners) || “/client_accounts” end end 我的登录所有者和管理员工作正常,但我无法让客户登录工作..这是我得到的错误: NoMethodError in Devise/sessionsController#create undefined method `client_url’ for # 应用程序跟踪为空。

禁用设计:即时确认批量生成用户

Devise是一个Ruby库,它为我提供了这个User类: class User < ActiveRecord::Base has_many :user_tokens devise :trackable, :confirmable 在:confirmable书写入时,会在注册时发送确认电子邮件。 上周我不得不批量创建300个用户,所以我评论说:confirmable在恢复之前:confirmable几分钟。 现在我正在为用户批量创建创建一个UI,所以我需要添加/删除:confirmable即时:confirmable 。 (我也可以直接修改Devise的源代码,但我宁愿不用它来调整它) 问题:如何添加/删除:confirmable即时:confirmable ?

设计认证gem:如何保存登录的用户ID?

我在Ruby on Rails 3应用程序中使用Devise Ruby gem。 当登录用户创建我的某个模型时,我想将其用户ID保存为创建它的人。 我该怎么办?

在Devise中获取NoMethodError :: RegistrationsController #create

尝试添加新用户,使用设计gem运行rake db:migrate并再次运行rails服务器 但当我输入3000 / posts / sign_up 它给了我默认的注册屏幕,但是当我尝试创建一个用户时,我得到了 Devise中的NoMethodError :: RegistrationsController#为#创建未定义的方法`encrypted_pa​​ssword =’ 我的日志显示 Started POST “/posts” for 127.0.0.1 at 2014-03-18 20:38:22 +0000 Processing by Devise::RegistrationsController#create as HTML Parameters: {“utf8″=>”✓”, “authenticity_token”=>”2uO2ttqAfK1a2C855cZOpDTsS2Duc7ZzVJxAQ5ObL8M=”, “post”=>{“email”=>”neil@example.com”, “password”=>”[FILTERED]”, “password_confirmation”=>”[FILTERED]”}, “commit”=>”Sign up”} Completed 500 Internal Server Error in 79ms NoMethodError (undefined method `encrypted_password=’ for #): activemodel (4.0.4) lib/active_model/attribute_methods.rb:439:in `method_missing’ activerecord (4.0.4) lib/active_record/attribute_methods.rb:167:in […]

将密码重置发送到不同的电子邮件 – 设计

我在设备轨道5上使用ruby,我需要将密码重置电子邮件发送到与我的用户表中存储的电子邮件不同的电子邮件。 怎么能实现这一目标?

Ruby Devise,SessionsController.create,json – 获取NameError:undefined’build_resource’?

我对Ruby生态系统很陌生并且淹死了。 我想我被Visual Studio w C#的简单intellisense破坏了。 无论如何,我在Ubuntu上使用Ruby 1.9.3,Rails 3.2.13和Devise 3.0.3。 我可以通过PC上的浏览器登录这个网站。 但当我尝试从我们的Phonegap移动应用程序中执行此操作时,我收到此错误: NameError:’未定义的局部变量或方法’build_resource’用于#.. 以下是sessions_controller.rb中的代码: class SessionsController < Devise::SessionsController def create respond_to do |format| format.html { super } format.json { build_resource # params[:user][:email]) return invalid_login_attempt unless resource return invalid_login_attempt unless user .. 显然,它是包含build_resource的行,即产生错误。 我很感激任何指示我去哪里的帮助。 这条线甚至做了什么? 这是方法调用吗? 如何发现所谓的内容?

有没有办法返回当前登录的设备用户数?

有没有办法弄清楚有多少用户使用设计主动登录rails应用程序? Rails 3.1 gem’设计’,’〜> 1.4’gem’dm-devise’,’〜> 1.5′ with:数据库可validation 我正在寻找ruby代码。

Ruby中的装饰器(从Python迁移)

我今天花在从Python角度学习Ruby。 我完全没有解决的一件事是相当于装饰者。 为了削减一些东西,我试图复制一个简单的Python装饰器: #! / usr / bin / env python 导入数学 def文件(f): def wrap(x): 打印“我要去广场”,x F(X) 回归包裹 @文献 def square(x): print math.pow(x,2) 正方形(5) 运行这个给了我: 我要去5号广场 25.0 所以,我想创建一个函数square(x),但是要对它进行修饰,以便在它发生之前提醒我它将会变成什么样。 让我们摆脱糖,使其更基本: … def square(x): print math.pow(x,2) square =文件(正方形) … 那么,我如何在Ruby中复制它? 这是我的第一次尝试: #! / usr / bin / env ruby def文件(f) def wrap(x) 把“我要去广场”,x F(X) 结束 回归包裹 结束 […]

无法使用Devise gem在Rails应用中注销,没有路由匹配/ users / sign_out

我知道不同网站上有很多关于这个问题的问题。 我已经尝试了很多东西,但仍然无法使用DELETE方法获得链接。 我创建了一个空的rails应用程序 版本: 设计2.0.4 铁轨:3.2.2 Ruby:1.9.2 RVM:1.10.3 在我安装了devise gem之后,我运行了以下命令: rails generate devise:install rails generate devise User 我尝试过的修复如下: 初始链接: 我在ticks中添加了删除方法,没有它们: ‘delete’ %> :delete %> 将此添加到application.html.erb: 我在assets / javascripts / application.js中取消注释了这些行: = require jquery = require jquery_ujs 我也尝试让GET链接起作用,从config / initializers / devise.rb更改了这一行 config.sign_out_via = : delete 对此: config.sign_out_via = :get if Rails.env.test? 无论我尝试什么,DELETE链接都会导致: No route matches […]

只有正确的用户才能访问Rails用户个人资料页面

我正在使用设计进行身份validation。 现在,我正在设置用户个人资料。 我已经设置了所有内容,除了每个页面都可供所有人访问(因此您可以在不登录的情况下查看配置文件)。 如何制作它以便只有正确的用户才能看到自己的个人资料页面? users_controller.rb class UsersController < ApplicationController def show @user = User.find(params[:id]) end end 的routes.rb devise_for :users resources :users, only: [:show] get ‘users/show’ 显示视图…… Users#show Find me in app/views/users/show.html.erb