小编Hin*_*chy的帖子

在mongoid中使用LIKE/regex和变量

我正在尝试查找其文本中包含单词test的所有文档.以下工作正常:

@tweets = Tweet.any_of({ :text => /.*test.*/ })
Run Code Online (Sandbox Code Playgroud)

但是,我希望能够搜索用户提供的字符串.我认为下面的内容可行,但不会:

searchterm = (params[:searchlogparams][:searchterm])
@tweets = Tweet.any_of({ :text => "/.*"+searchterm+".*/" })
Run Code Online (Sandbox Code Playgroud)

我已经尝试了我能想到的一切,任何人都知道我能做些什么来使这项工作.

提前致谢.

ruby-on-rails mongodb mongoid ruby-on-rails-3.1

22
推荐指数
2
解决办法
2万
查看次数

Rails 3.1 Mongoid has_secure_password

我试图让has_secure_password与mongoid玩得很好.我正在关注Railscasts#270,但是当我用用户名/密码登录时,我收到错误:

undefined method `find_by_email' for User:Class
Run Code Online (Sandbox Code Playgroud)

我看到一个类似的帖子(http://stackoverflow.com/questions/6920875/mongoid-and-has-secure-password)但是,按照它的建议完成我仍然得到相同的错误.

这是我的模型:

class User 
  include Mongoid::Document
  include ActiveModel::SecurePassword 

  validates_presence_of :password, :on => :create
  attr_accessible :email, :password, :password_confirmation

  field :email, :type => String
  field :password_digest, :type => String
  has_secure_password
 end
Run Code Online (Sandbox Code Playgroud)

控制器:

class SessionsController < ApplicationController

  def new
  end

  def create
    user = User.find_by_email(params[:email])
    if user && user.authenticate(params[:password])
      session[:user_id] = user.id
      redirect_to root_url, :notice => "Logged in!"
    else
      flash.now.alert = "Invalid email or password"
      render "new"
    end
  end

  def destroy
    session[:user_id] = nil
    redirect_to root_url, :notice …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails mongoid ruby-on-rails-3.1

6
推荐指数
1
解决办法
2068
查看次数

从字符串中提取所有链接

我有一个包含页面HTML源代码的javascript变量(不是当前页面的源代码),我需要从这个变量中提取所有链接.关于这样做的最佳方式的任何线索?

是否可以在变量中为HTML创建DOM然后再进行操作?

javascript regex dom

5
推荐指数
2
解决办法
6334
查看次数

无法访问rails发布数据

我花了最后几个小时慢慢失去理智,同时试图解决问题.我在rails中提交表单,一切正常,直到我尝试访问params.在控制台中,我可以看到以下内容:

Parameters: {"authenticity_token"=>"3mdEW2lHhkzpZbDsJCu8ZEV/wbq2YB/ztNR0RLTMZDs=", "utf8"=>"?", "project"=>{"name"=>"woeij", "client"=>"iwej", "description"=>"oiejdoiew woeij"}, "id"=>"13"}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我正在发送姓名,客户,描述和身份证明.我可以通过以下方式访问ID:

@id = params[:id]
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试以相同的方式访问名称,客户端或描述时,它们都是空的.如果我做:

@project = params[:project]
Run Code Online (Sandbox Code Playgroud)

我明白了:

namewoeijclientiwejdescriptionoiejdoiew woeij 
Run Code Online (Sandbox Code Playgroud)

有人会介意解释我做错了吗?为什么我不能在做的时候得到"woeij":

@name = params[:name]
Run Code Online (Sandbox Code Playgroud)

抱歉这个愚蠢的问题,一如既往地非常感谢.

html ruby-on-rails

0
推荐指数
1
解决办法
1802
查看次数