Tag: ruby on rails 3.2

Rails命名空间错误?

我在config/routed.db有这个: namespace :admin do resources :users resources :events end 我通过使用脚手架Rails提供了生成User模型,然后我通过使用Rails的generate简单地生成了一个管理员/管理员控制器,并简单地将所有与用户相关的内容移动到controllers / views / helpers内的admin子目录中。 是的,我确实必须在几个地方添加admin_并在表单部分内部我必须将form_for(@user)更改为form_for([:admin, @user]) 。 当我尝试创建一个新用户时(这是我发布用户数据的时候),我收到以下错误消息: undefined method `user_url’ for # 应用程序级跟踪显示此处引发错误: app/controllers/admin/users_controller.rb:47:in `create’ 引发此错误的代码行: format.html { redirect_to @user, :notice => ‘User was successfully created.’ } 上面的行在respond_to块内。 所以,我有两个问题: 我该如何解决这个问题? 这样做有更智能,更好的轨道方式吗? 此外,如果你建议我用更聪明,更好的轨道方式重新做这个奖励积分! 好吧,无论如何我会这样做! :d 更新 哦,我差点忘了可能有用的东西! 我还使Admin::UsersControllerinheritance自Admin::AdminController (通常inheritance自ApplicationController ): Admin::UsersController < Admin::AdminController

ArgumentError(生成cookie会话数据的完整性哈希需要一个秘密

运行rails应用程序时出现此错误,这是完整的错误 ArgumentError(生成cookie会话数据的完整性哈希需要密码。在config / initializers / secret_token.rb中使用config.secret_token =“至少30个字符的一些秘密短语”): ** 我使用rvm 1.9.3和rails 3.2.13。 任何帮助赞赏。 提前致谢。

Rails 3.2.3命名空间控制器被具有相同名称的全局控制器覆盖

首先加载全局应用程序控制器时,在该名称空间中加载页面时,不会加载命名空间的应用程序控制器。 应用程序控制器如下所示: class ApplicationController < ActionController::Base protect_from_forgery end 命名空间的应用程序控制器如下所示: class Admin::ApplicationController < ApplicationController def authenticate_admin! if current_admin.nil? redirect_to new_admin_session_url end end private def current_admin @current_admin ||= Admin.find(session[:admin_id]) if session[:admin_id] end helper_method :current_admin end 当我们使用before_filter“authenticate_admin!”时 像这样: class Admin::AssetsController < Admin::ApplicationController before_filter :authenticate_admin! end 抛出“Admin :: AssetsController #new中的NoMethodError”。 仅当我们在命名空间路由之前命中全局路由时才会发生这种情况。 如果服务器重新启动并且加载了命名空间路由,则一切正常。

1)PasswordResets在请求密码重置时向用户发送电子邮件

我一直在尝试为忘记密码的用户添加密码重置。 用户点击忘记密码? 在注册页面上。 然后,用户键入他们的电子邮件并单击重置密码,这会创建一个令牌并发送一封电子邮件,其中包含重置密码的链接。 在大多数情况下,它只适用于电子邮箱是空白的或者只有6个随机字母/数字,但是当用户输入他的电子邮件并单击密码重置时它不起作用,它会显示错误消息: **Validation failed: Password can’t be blank Password cant be blank, password is too short(6 min)** 通过更改user.rb validation:password,presence:true,length:{minimum:6}validation:password_confirmation,presence:true 我有不同的错误,无论如何要从此重置密码表单中排除此validation app/models/user.rb:30:in `send_password_reset’ app/controllers/password_resets_controller.rb:7:in `create’ 在video275中我是如何测试的。 在11:20 失败/错误:click_button“重置密码”ActiveRecord :: RecordInvalid:validation失败:密码不能为空,密码太短(最少6个字符),密码确认不能为空 # ./app/models/user.rb:30:in `send_password_reset’ # ./app/controllers/password_resets_controller.rb:7:in `create’ # (eval):2:in `click_button’ # ./spec/requests/password_resets_spec.rb:9:in `block (2 levels) in ‘ 完成13.66秒95例,1次失败 这是一些正在使用的代码。 user.rb # == Schema Information […]

如何更新Ruby on Rails 3中的多个列?

出于好奇,有没有办法说这个… user.update_column(:field1, true) user.update_column(:field2, true) …在Ruby on Rails中的一行中? 据我所知, update_columns方法不存在……

创建自定义Rails记录器

这已经过时了吗? http://guides.rubyonrails.org/debugging_rails_applications.html我一步一步地跟着它, 部分’2.1什么是记录器?’ 它说明了如何创建自定义记录器。 1)您可以在environment.rb或任何环境文件中指定备用记录器: Rails.logger = Logger.new(STDOUT) Rails.logger = Log4r::Logger.new(“Application Log”) 我把这段代码放在我的environment.rb文件中,我得到了这个: 未初始化的常量Log4r(NameError) ..然后它说’或者在初始化程序部分,添加以下任何内容:’ config.logger = Logger.new(STDOUT) config.logger = Log4r::Logger.new(“Application Log”) 我的environment.rb文件中没有初始化部分! 我犯了同样的错误! 它说’如果你愿意,你也可以替换Log4r等其他记录器。’ 为什么有人想替换现有的记录器? 我从environment.rb文件中删除了Rails.logger = Log4r::Logger.new(“Application Log”) 。 它似乎正在工作,但我期待在日志/目录中创建一个文件,但没有。 这是我的enviroment.rb文件: # Load the rails application require File.expand_path(‘../application’, __FILE__) Rails.logger = Logger.new(‘Application Log’) # Initialize the rails application MyApp::Application.initialize! 救命? 请问一些解释?

尝试使用filnename格式下载时出错

当我保存到xls时,我正在尝试自定义格式: 我想帮助定制=“日期”+“执行选定”+“。xls” 但是没有用 我的模特 class Policy [“ejecutive_id = ? “, search.to_i ] ) else find(:all) end end end class Ejecutive < ActiveRecord::Base has_many :policies end 这是我的控制器。 在这里,我把我的格式设置为我正在尝试使用date + ejecutive选择+ .xls进行自定义 class PolicyManagement::PolicyController params[:page], :per_page =>10) @results= Policy.search(params[:search]) respond_to do |format| format.html format.xls { send_data render_to_string(:partial=>”report_by_ejecutive_xls”), :filename => “#{Date.today}#{@ejecutives.name}.xls” } end end 这是我的看法 “policy_management/policy”,:action =>”generate_print_ejecutive_comercial”, :method […]

是否有任何方法可以在ruby中将布尔变量转换为整数

我有一个ruby变量’is_published’。 我想将’is_published’中的值转换为整数。 ruby中有没有方法可以做到这一点? if is_published == true is_published = 1 else is_published = 0 end 上面的代码完美无缺。 如果有任何方法可以在单行代码中提供帮助。

如何在我的情况下跳过格式validation?

我有一个模型User,其属性为“guest”(BOOLEAN)如果user.guest == true或user.guest == nil,我想跳过电子邮件的格式validation, 试着 VALID_EMAIL_REGEX = /^(\S+)@([a-z0-9-]+)(\.)([az]{2,4})(\.?)([az]{0,4})+$/i validates :email, format: { :with => VALID_EMAIL_REGEX } unless :guest? 但现在即使用户有guest == false或guest == nilvalidation仍在跳过 可能有什么不对? 另一种常见的validation效果很好 validates :email, presence: true, uniqueness: { case_sensitive: false } unless :guest?

Ruby on Rails gem’byebug’安装错误

我该如何解决这个错误? 当我使用此命令检查演示创建的网站中的rails版本时,会创建此问题。