我正在编程一个时钟系统,用户通过输入他们username和password在特定的计算机上有效地打击他们的时钟.时钟用户将首先登录.我只需要注册一个用户通过检查出现了username和password他们进入是正确的.我怎么能这样做Devise?
我不想实际登录,只检查他们是谁.timeclock用户是唯一一直登录的用户.
ruby-on-rails devise ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-4
我的系统中有不同类型的用户.一种是,比方说,设计师:
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,我无法访问此注册控制器.
注册时创建User和Designer注册的正确方法是什么?
ruby-on-rails devise ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-4
我第一次尝试安装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) 我需要围绕a DateTime和a Time到最近的15分钟间隔.我的想法是将秒和毫秒(这些存在于a DateTime或Time?)中甚至纳秒甚至纳秒?然后将分钟数除以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)
所以我想我的问题是,如果有一个更好的方法来做到这一点,如果一个DateTime或Time多少存在毫秒和纳秒?有纳秒的nsec方法,但我认为这是自纪元以来的总纳秒.
ruby datetime ruby-on-rails ruby-on-rails-3.2 ruby-on-rails-4
我有一个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)
我想调用other它test并使用它的arguments数组调用它.
我在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
为了在功能性风格来使用斯威夫特,我们应该如何处理head和tail列表第?Arrays和ArraySlices 是否合适(似乎很像,因为an ArraySlice是获得子列表的有效机制)?是一个转换权机制Array到ArraySlice和使用.first!,并.dropFirst()作为等价物head和tail?
作为添加数字列表的示例:
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) 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) 我熟悉在 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 参数名称中分隔单词的约定是什么?
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代码正确调用textarea的setSelectionRange功能。而随后榆树叫我的view功能,更新textarea的内容。不幸的是,这抹去了我的光标位置。
我需要的textarea的内容进行更新之前打电话textarea.setSelectionRange()在我的JavaScript端口。有什么方法可以执行此操作而不求助于setTimeout哪一种方法可能并不总是有效,并且可能在超时时间内导致闪烁?