小编at.*_*at.的帖子

如何在没有使用Devise登录的情况下检查用户的密码是否正确?

我正在编程一个时钟系统,用户通过输入他们usernamepassword在特定的计算机上有效地打击他们的时钟.时钟用户将首先登录.我只需要注册一个用户通过检查出现了usernamepassword他们进入是正确的.我怎么能这样做Devise

我不想实际登录,只检查他们是谁.timeclock用户是唯一一直登录的用户.

ruby-on-rails devise ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-4

4
推荐指数
1
解决办法
1464
查看次数

如何在Rails中的注册表单中创建Devise用户时创建另一个对象?

我的系统中有不同类型的用户.一种是,比方说,设计师:

class Designer < ActiveRecord::Base
  attr_accessible :user_id, :portfolio_id, :some_designer_specific_field
  belongs_to :user
  belongs_to :portfolio
end
Run Code Online (Sandbox Code Playgroud)

这是在用户注册时立即创建的.因此,当用户填写sign_up表单时,将User创建一个Devise 以及此Designer对象,并将其user_id设置User为创建的新对象.如果我可以访问控制器的代码,这很容易.但是对于Devise,我无法访问此注册控制器.

注册时创建UserDesigner注册的正确方法是什么?

ruby-on-rails devise ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-4

4
推荐指数
1
解决办法
2796
查看次数

由于缺少sqlite3 gem,Rails 4.0rc1 app无法运行

我第一次尝试安装Rails 4.0.在带有Ruby 2.0 x64的Windows 8上.冉:

gem install rails --version 4.0.0.rc1 --no-ri --no-rdoc
Run Code Online (Sandbox Code Playgroud)

然后我跑:

rails new test_app
cd test_app
rails s
Run Code Online (Sandbox Code Playgroud)

但网页localhost:3000报告以下错误:

为数据库适配器指定'sqlite3',但未加载gem.添加gem 'sqlite3'到您的Gemfile.

它在我的Gemfile中:

gem 'sqlite3'
Run Code Online (Sandbox Code Playgroud)

我尝试bundle install了几次运行,它甚至没有列出所有其他宝石.

更新:我尝试以两种不同的方式安装sqlite3 gem,两者都使用从DevKit的msys.bat文件打开的终端.@szines下面提到的方式给我以下错误:

$ gem install sqlite3 --platform=ruby -- --with-opt-dir=c:/sqlite-amalgamation-3071602
Temporarily enhancing PATH to include DevKit...
Building native extensions with: '--with-opt-dir=c:/sqlite-amalgamation-3071602'
This could take a while...
ERROR:  Error installing sqlite3:
        ERROR: Failed to build gem native extension.

    c:/Ruby200-x64/bin/ruby.exe extconf.rb --with-opt-dir=c:/sqlite-amalgamation-3071602
checking for sqlite3.h... yes
checking for …
Run Code Online (Sandbox Code Playgroud)

sqlite ruby-on-rails bundler ruby-on-rails-4

4
推荐指数
1
解决办法
4418
查看次数

将Rails DateTime四舍五入到最近的15分钟间隔

我需要围绕a DateTime和a Time到最近的15分钟间隔.我的想法是将秒和毫秒(这些存在于a DateTimeTime?)中甚至纳秒甚至纳秒?然后将分钟数除以15,然后将结果乘以15并将其设置为分钟:

# zero out the seconds
time -= time.sec.seconds
# zero out the milliseconds (does that exist?)
# zero out the nanoseconds (less likely this exists)

minutes_should_be = (time.min / 15.to_f).round * 15
time += (minutes_should_be - time.min).minutes
Run Code Online (Sandbox Code Playgroud)

所以我想我的问题是,如果有一个更好的方法来做到这一点,如果一个DateTimeTime多少存在毫秒和纳秒?有纳秒的nsec方法,但我认为这是自纪元以来的总纳秒.

ruby datetime ruby-on-rails ruby-on-rails-3.2 ruby-on-rails-4

4
推荐指数
1
解决办法
3903
查看次数

如何将参数数组传递给JavaScript中的另一个函数?

我有一个JavaScript函数:

function test() {
  console.log(arguments.length);
}
Run Code Online (Sandbox Code Playgroud)

如果我打电话给它test(1,3,5),它打印出来,3因为有3个参数.如何从另一个函数中调用test并传递其他函数的参数?

function other() {
  test(arguments); // always prints 1
  test(); // always prints 0
}
Run Code Online (Sandbox Code Playgroud)

我想调用othertest并使用它的arguments数组调用它.

javascript arguments function

4
推荐指数
1
解决办法
4400
查看次数

如何使用Redcarpet for Rails在Markdown中嵌入YouTube视频?

我在Rails 4.1中使用Redcarpet的Markdown解析器,这样员工就可以通过一些格式化来互相写消息.我希望他们能够嵌入youtube视频.也许是这样的:

Hey, *check out* my video: [VMD-z2Xni8U](youtube)
Run Code Online (Sandbox Code Playgroud)

那将输出:

嘿,看看我的视频:<iframe width="560" height="315" src="//www.youtube.com/embed/VMD-z2Xni8U" frameborder="0" allowfullscreen></iframe>

在Redcarpet的Markdown解析器中有没有办法做到这一点?我假设我必须编写某种自定义解析器?如果有办法,这样做的恰当方法是什么?有可能采用标准的Markdown方式吗?

markdown ruby-on-rails redcarpet ruby-on-rails-4 ruby-on-rails-4.1

4
推荐指数
1
解决办法
1426
查看次数

如何在Swift中使用头/头和休息/尾巴?

为了在功能性风格来使用斯威夫特,我们应该如何处理headtail列表第?Arrays和ArraySlices 是否合适(似乎很像,因为an ArraySlice是获得子列表的有效机制)?是一个转换权机制ArrayArraySlice和使用.first!,并.dropFirst()作为等价物headtail

作为添加数字列表的示例:

func add(_ nums: ArraySlice<Int>) -> Int {
    if nums.count == 0 {
        return 0
    } else {
        return nums.first! + add(nums.dropFirst())
    }
}
Run Code Online (Sandbox Code Playgroud)

recursion functional-programming tail swift swift3

4
推荐指数
1
解决办法
1484
查看次数

Swift:错误:使用未声明类型'T'

Swift 3.0并得到此错误,不确定原因:

码:

func rest(_ list: ArraySlice<T>) -> ArraySlice<T> {
    return list.dropFirst()
}
Run Code Online (Sandbox Code Playgroud)

错误:

error: repl.swift:1:48: error: use of undeclared type 'T'
func rest(_ list: ArraySlice<T>) -> ArraySlice<T> {
                                               ^
Run Code Online (Sandbox Code Playgroud)

generics swift swift3

4
推荐指数
1
解决办法
4440
查看次数

HTTP 参数名称中的下划线与破折号

我熟悉在 URL 路径中使用连字符分隔单词的约定。参数名称如何,例如在 a 中<form>

<form>
  <input name="my_special_field">
</form>
Run Code Online (Sandbox Code Playgroud)

那更好还是my-special-field?我见过谷歌在分析中使用下划线utm_campaign和其他参数名称。下划线读起来会好一些,并且允许在名称 ( field_for_5-16-17) 中偶尔使用连字符。但是连字符肯定是 URL 路径的约定。

在 HTTP 参数名称中分隔单词的约定是什么?

forms http url-parameters web http-parameters

4
推荐指数
1
解决办法
6833
查看次数

在Elm中更新视图后调用端口

Cmd更新视图后,有没有一种直接执行方法的方法?特别是,我试图textarea在按下特定键(例如Enter键)时将光标重新定位在上。在我的update职能中,我有:

case keyboardEvent.key of
    "Enter" ->
        ( modelAfterEnterPressed model keyboardEvent.selectionStart, setCursor model.cursor )
    "Tab" ->
        ....
Run Code Online (Sandbox Code Playgroud)

我的setCursor端口被调用,相应的JavaScript代码正确调用textareasetSelectionRange功能。而随后榆树叫我的view功能,更新textarea的内容。不幸的是,这抹去了我的光标位置。

我需要的textarea的内容进行更新之前打电话textarea.setSelectionRange()在我的JavaScript端口。有什么方法可以执行此操作而不求助于setTimeout哪一种方法可能并不总是有效,并且可能在超时时间内导致闪烁?

elm elm-port

4
推荐指数
1
解决办法
412
查看次数