Tag: 设计

Rails3 + Devise + Simple_form:路径助手中的奇异资源和simple_form_for错误

有两个问题: 如何让simple_form_for使用单一资源:与用户相关联的foo_object(参见下面的代码摘录)? 我得到NoM​​ethodError: simple_form_for行中@foo的未定义方法foo_objects_path 。 foo_object_path有一个有效的路径,但似乎simple_form_for使用复数版本。 我已经google’d并阅读有关单一资源和路径问题的SOpost,但还没有找到解决方案。 我是否需要为:foo_object创建嵌套资源,因为它与:user相关联? 如果是,那么它会与Devise的用户模型冲突吗? 路线: devise_for :users resource :foo_object 模型: :user is the Devise User’s model and has_one :foo_object :foo_object belongs_to :user 查看(haml):(更新6/27/13:更正为=从 – ) = simple_form_for @foo do |f| = f.input :firstname = f.input :lastname = f.button :submit 希望很清楚。 谢谢。

为什么我为此devise_group调用获取NoMethodError?

我正在使用设计3.5.2,ruby 2.2.2,rails 4.2.3 class ApplicationController < ActionController::Base # Prevent CSRF attacks by raising an exception. protect_from_forgery with: :exception devise_group :user, contains: [:manager, :employee] end 我的理解是Devise应该自动加载这些助手 ,我应该能够在ApplicationController中使用它们而不做任何特殊的事情。 我尝试使用’rails s’运行应用程序,我收到此错误: multi-user-role-devise / app / controllers / application_controller.rb:6:in ‘: undefined method devise_group’for ApplicationController:Class(NoMethodError)from / home / me / ror-code / multi-user -role-devise / app / controllers / application_controller.rb:1:在`’….等 […]

设计身份validation未定义方法’to_sym’?

我试图使用设计针对LDAP活动目录设置身份validation系统。 (按照教程http://wiki.phys.ethz.ch/readme/devise_with_ldap_for_authentication_in_rails_3 我完全按照指示,当我尝试运行应用程序时,我得到以下错误: undefined method `to_sym’ for #<ActiveModel::MassAssignmentSecurity::WhiteList:0x2a4abd50 我甚至不知道to_sym在to_sym ,因为它没有告诉我! 任何人都知道这个的原因或至少如何找到包含这一行的文件? * ** * ** * 更新 * ** * ** * user.rb模型: class User < ActiveRecord::Base # Include default devise modules. Others available are: # :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable devise :ldap_authenticatable, :rememberable, :trackable, # Setup accessible (or protected) attributes for your […]

Rails 4中的“Factory not registered”错误

我在Rails 4中使用Factory Girl获得了“Factory not registered”错误。这是我在spec / factories / user.rb中为一个简单的Devise用户定义的工厂: FactoryGirl.define do factory :user do email ‘test@example.com’ password ‘foobar’ password_confirmation ‘foobar’ end end 这是spec_helper.rb: ENV[“RAILS_ENV”] ||= ‘test’ require File.expand_path(“../../config/environment”, __FILE__) require ‘rspec/rails’ require ’email_spec’ require ‘rspec/autorun’ require ‘factory_girl’ Dir[Rails.root.join(“spec/support/**/*.rb”)].each { |f| require f } ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration) RSpec.configure do |config| config.include(EmailSpec::Helpers) config.include(EmailSpec::Matchers) config.fixture_path = “#{::Rails.root}/spec/fixtures” config.use_transactional_fixtures […]

臭名昭着的AbstractController :: ActionNotFound – Devise + Rails

所以我已经阅读了如何解决这个问题: 自定义设计会话控制器的RSpec测试因AbstractController :: ActionNotFound失败 和 http://lostincode.net/blog/testing-devise-controllers 但我在哪个文件下添加这些更改是我的问题: 在我的rspec文件夹下 registrations_controller 我试过这个 before :each do request.env[‘devise.mapping’] = Devise.mappings[:user] end require ‘spec_helper’ describe RegistrationsController do describe “GET ‘edit'” do it “should be successful” do get ‘edit’ response.should be_success end end end 哪个不起作用,任何帮助改变特定文件以使这项工作将不胜感激。 编辑 所以我也尝试过 – https://github.com/plataformatec/devise/wiki/How-To:-Controllers-and-Views-tests-with-Rails-3-(and-rspec) 所以我创建了一个带有spec / support的文件夹,并创建了一个名为controllers_macros.rb的文件 module ControllerMacros def login_admin before(:each) do @request.env[“devise.mapping”] = Devise.mappings[:admin] […]

Rails 3设计用户注册编辑路径不起作用

我有一个非常直接的应用程序与Devise的几个调整。 首先,我创建了一个Registers控制器, class RegistrationsController < Devise::RegistrationsControllerinheritance自Devise。 我创建了这个控制器,以便我可以编辑用户而无需重新提供密码。 https://gist.github.com/1514687 我也在我的路线中这样做了: devise_for :users, :controllers => { :registrations => “registrations” }` 注册工作正常,但是当我调用以下内容时: 它吐出的URL是(在localhost上运行): http://localhost:3000/users/edit.2 这里有什么想法?

undefined方法`authenticate_user! Devise / Rails 4中的Api :: PostsController

我的项目中有以下路线: root ‘home#index’ namespace :api, defaults: { format: :json } do devise_for :users, controllers: { sessions: “api/sessions” } resources :posts end 用户模型: class User < ActiveRecord::Base has_many :posts, dependent: :destroy has_many :comments, dependent: :destroy validates :name, presence: true devise :database_authenticatable, :rememberable end 会话控制器: class Api::SessionsController < Devise::SessionsController def create @user = User.find_for_database_authentication(email: params[:user][:email]) if @user […]

在Web浏览器中实现聊天系统

我们希望有基于Web的应用程序来跟踪问题,知识管理和聊天系统。 用户登录后,用户可以与服务工程师聊天。 我们将在浏览器中使用Ajax进行聊天。 但是服务器端我们不确定如何实现聊天? 必须保存聊天记录以进行横向查看。 当有人开始聊天时,系统必须找到可用的服务工程师,他将开始与客户接口。 任何更好的方法来处理网络聊天系统? 我们可以使用Python,PHP,Ruby / Rails,Grails或.NET 我们可以使用可用的系统,我们需要更好的接口/ api到可用的系统,以便它可以集成到我们的应用程序中。

formValidation jquery插件在rails上提交一个空白的设计注册表单

我正在为我的Devise注册表单使用formValidation查询插件。 该插件来自formValidation.io 。 我可以让表单注册有效或无效的条目,但它总是提交一个空白表格。 由于某种原因,表单显示它已填写,但我不断收到错误,说必填字段不能为空。 当我查看跟踪时,注册信息正在那里注册……但它在线路的某处丢失了。 跟踪: Started POST “/users” for ::1 at 2015-05-09 20:11:21 -0700 source=rack-timeout id=b008bd12bcf5f1f2687f7e216cf42136 timeout=20000ms service=1750ms state=active Processing by Users::RegistrationsController#create as HTML Parameters: {“utf8″=>”✓”, “authenticity_token”=>”uzEtfaHhjFg5M1aRL6shfpMxA3/Wbf/CVm5R1cU+NDNjrOx2nbnlkfQ9t+SlvKTk2Lm+F1r1rkvLfauEtFKRtA==”, “firstname”=>”fred”, “lastname”=>”flintstone”, “email”=>”wilma@bedrock.com”, “pw1″=>”dino123”, “pw2″=>”dino123”, “commit”=>”Create Account”} (0.3ms) BEGIN User Exists (0.6ms) SELECT 1 AS one FROM “users” WHERE LOWER(“users”.”email”) = LOWER(”) LIMIT 1 (0.2ms) ROLLBACK […]

Devies – 登录后使用’POST’请求路由到行动

在我的Rails应用程序中,我使用Devise进行用户身份validation。 我试图设置它,以便控制器的create操作有一个before_action :authenticate_user! filter,但我遇到了一个问题 – Devise after_sign_in_path_for控制器操作的默认行为似乎只能重定向到带有’get’动词的路由,但create action依赖于’post’。 如何设置它以便重定向指向正确的操作? 的routes.rb resources :posts, only: [:index, :new, :create] posts_controller.rb class PostsController [:create] def new @post = Post.new end def create @post = current_user.posts.new(post_params) @post.save redirect_to posts_summary_path end end sessions_controller.rb def after_sign_in_path_for(resource) request.env[‘omniauth.origin’] || stored_location_for(resource) || posts_path end 从我的佣金路线 posts GET /posts(.:format) posts#index POST /posts(.:format) posts#create 因此,要求用户在new页面上提交表单后登录,但不是在登录后重定向到并完成create操作,Devise将用户路由到index视图。 如果我删除index路由,我得到错误No […]