@camel 蛋疼
@hayeah 去了再说,嘿嘿
可能是命令提示问题,你改变一下 cmd 的第二默认参数试试
我来说点技术方面的:
1。at 功能目前不支持中文
2。user model 有限制
3。不是所有的浏览器支持中文 url 的完美
@lb563 推荐使用 spreadsheet , 我们用这个非常稳定,并且支持跨平台操作。
@s200612321 这个要看布署的时候是否会使用相对路径。建议使用<%= image_path ... %> 来处理。
@huacnlee 这个问题是由于 jQuery 重复绑定事件导致的。bind() 在向里添加绑定,而不检查是否相同. 不要重复执行绑定操作,但如果是无法改掉,可以使用 $().unbind().bind() 来处理比较方便. 至于 @fwword 说的 $.one 是只触发一次后被清除,应该不满足此需求. 推荐看看http://www.w3school.com.cn/jquery/jquery_ref_events.asp 这个 jQuery 的事件列表。
还有一个类似的函数,die() 与 live() 在 jQuery 中叫委托事件,是说新生成的节点仍然可以触发此消息。
上班的飘过
rails.vim 总是要用的,灰常强大.
补全默认用ctrl+n
或ctrl+p
就够了.
想更强大可以用:
ctrl+x+ctrl+p
可以补全很多 rails 的方法.
snipmate.vim 推荐一下,这个用起来也蛮好,用 tab 来自动完成。
统一一种就好了,标准建议是第二种 我们统一是 # coding: utf-8
两者皆可~ 多谢~
Criteria 是一个中间对象,保持按需查询以提高效率。
@lidashuang 121 号,哈~
从原理上讲是必须要知道的,因为 rails 只是一 web 表现层,无法获取 ntlm 认证信息。而且必须能够查询到 AD. 除非除非你设计一个浏览器插件,用来获取本地的认证域信息。
这种直接 google 吧。简单提示下,编写/etc/.bash_profile 或 ~/.bashrc 具体$PATH 根据你 ruby 的安装目录来定的。
Rails 肯定要知道相关密码 (也许是加密后的),然后传给 LDAP 作认证,通过了 rails 就可以认为 OK 了,创建好 session 的登录信息就可以了。 可以参考以下的 model:( 来自 stackoverflow )
require 'net/ldap'
class User < ActiveRecord::Base
def after_initialize
@config = YAML.load(ERB.new(File.read("#{Rails.root}/config/ldap.yml")).result)[Rails.env]
end
def ldap_auth(user, pass)
ldap = initialize_ldap_con
result = ldap.bind_as(
:base => @config['base_dn'],
:filter => "(#{@config['attributes']['id']}=#{user})",
:password => pass
)
if result
# fetch user DN
get_user_dn user
sync_ldap_with_db user
end
nil
end
private
def initialize_ldap_con
options = { :host => @config['host'],
:port => @config['port'],
:encryption => (@config['tls'] ? :simple_tls : nil),
:auth => {
:method => :simple,
:username => @config['ldap_user'],
:password => @config['ldap_password']
}
}
Net::LDAP.new options
end
def get_user_dn(user)
ldap = initialize_ldap_con
login_filter = Net::LDAP::Filter.eq @config['attributes']['id'], "#{user}"
object_filter = Net::LDAP::Filter.eq "objectClass", "*"
ldap.search :base => @config['base_dn'],
:filter => object_filter & login_filter,
:attributes => ['dn', @config['attributes']['first_name'], @config['attributes']['last_name'], @config['attributes']['mail']] do |entry|
logger.debug "DN: #{entry.dn}"
entry.each do |attr, values|
values.each do |value|
logger.debug "#{attr} = #{value}"
end
end
end
end
end
一般来说是系统变量没有设置导致的。
用 ruby-ldap 这个 gem
然后,大概的代码如下,然后就跟密码认证差不多了:
require 'ldap'
conn = LDAP::Conn.new( '<domain-server>', 389 )
conn.set_option( LDAP::LDAP_OPT_PROTOCOL_VERSION, 3 )
conn.bind( '<domain>\<username>', '<password>' ) do |conn|
base = 'ou=Users,ou=<container>,dc=<domain>,dc=local'
results = conn.search2(base, LDAP::LDAP_SCOPE_SUBTREE, '(cn=*)')
results.each { |entry| puts "#{entry['dn']}: #{entry['telephoneNumber']}" }
end
或者用这个 gem: net-ldap
参考:
http://stackoverflow.com/questions/3539501/rails-ldap-login-using-net-ldap
做自动化测试开发,华为,中兴,腾讯,百度都有。
thx,试试看
定期推送一些讨论贴子是可以的~
@cqpx 多谢你的解释。embeds_many 看来的场合更适合于解决关系数据库繁于处理的多层关联的问题。但又不是经常反复查询的数据. 不过,我想这正是 mongodb 对传统数据库的一个大的特点之一吧. 刚才的问题你的一些代码指引,我分析了觉得是一个 bug, 内部没有递归做 save 判定。给他们 mongoid 提一个 issues 先。
@Rei 不知道有人有这种用法没?我现在不太习惯 has_many, belongs_to 了,用文档设计模式的话这种应该较为常见吧。
@huacnlee 多谢。了解~
ri 跟 rdoc 在本地是用处太小了。没有智能解析. 实际上,安装了 rdoc 时,在本地使用 gem sever 可以在http://localhost:8808gem的api用浏览器查看相关,不过还是有些弱的。@fsword
看看是不是可以直接用 rss