原谅我这个 rails 新手及 php 盲没有把问题说清楚吧,来说说我现在在的情况: 我有一个 rails 项目,里面已经有很多用户及数据了,然后现在有一个新的项目例如是 wordpress(别问我为什么是 wp! 暂时规定),我希望用户在登陆了 rails 项目后就自动登陆了 wp 项目,在 wp 项目里就可以提交信息留言等,如何实现?(所以我后面问@huacnlee如何在 wp 里获得 rails 项目里的登陆用户信息,目前正在看 json 中,如果谁不嫌累可以给我讲的更清楚些哈!)
#6 楼 @huacnlee #7 楼 @tumayun 多谢各位,我现在是用@huacnlee 的方式保存主域名及 remember_token 在 cookie 里:
def sign_in(user)
cookies[:remember_token] = {
value: user.remember_token,
expires: 20.year.from_now,
domain: "example.com"
}
self.current_user = user
end
然后当前 user 为:
def current_user
@current_user ||= User.find_by_remember_token(cookies[:remember_token])
end
这样就可以通过 cookie 找到当前的 user.
那我如何在另外一个项目里通过 cookie 来找到当前的 user 呢?两个项目的数据库及 user 模型必须要是一样的么?
想起来,前几天自己电脑上刚好试过 redmine2.3.1 的版本,gem 版本也是用的最新的,也没有出现过问题!
没用过 redmine2.3,不过我们用的更老,有问题就降级嘛:
gem update --system 1.6.2
版本号改为你自己想要版本号就可以了
database.yml 里不是可以配置 development 和 production 环境下的数据库,配置一下就行了吧。
什么时候厦门才有呢?
可通过:as 改名,然后再自己设置路由,如:
map.resources :source, :as => "dest"
map.new_dest "dest/new", controller => "dest",:action => "new"
map.show_dest "dest/:id", controller => "dest", :action => "show"
map.edit_dest "dest/:id/edit",controller => "dest", :action => "edit"
然后使用new_dest_path
, show_dest_path
, edit_dest_path
来设置 url 了
http://ruby-china.org/users/city/%20%E5%8E%A6%E9%97%A8 看看厦门就这么几个人。。。
#28 楼 @linjunpop 接到过你们公司的电话,厦门做 ror 的真是少啊 #27 楼 @codeframe 你太无聊了!哼
正在看 Metaprogramming Ruby,是本好书
刚入行的新手看得好心凉~
新手在新手问题区都不能发帖,还叫什么新手问题区啊。。。 肯定有人为了能发帖,而故意先回10个水帖,这样只能更水啊
#10 楼 @codeframe 谢谢,后面说的没道理,但连接里解释清楚了: I suppose that self.salt = ... is used so that the method generated by rails is called, rather than assigning to the instance variable, which would be making an assumption about the rails implementation. In fact, if you inspect the user (with user.inspect) you will see that rails doesn’t even create an instance variable called @salt. Instead, all of the attributes generated by inspecting the database schema are put in a hash called attributes: “123”, “name”=>”benjamin”, “hashed_password”=>”a335e63a110911315788dbe5b1d44815bdd528ae”, “id”=>2}
The accessor method ‘salt’ must retrieve the value from the @attributes hash.
那为什么我改为@后,在 rails c 里,看到 salt 是 nil,而没有被真正的赋值呢? 如下: ➜ authentication rails c Loading development environment (Rails 3.2.11) 1.9.3-p374 :001 > User.count (0.1ms) SELECT COUNT() FROM "users" => 0 1.9.3-p374 :002 > User.create(:login => "eva", :password => "foobar") (0.1ms) begin transaction SQL (4.5ms) INSERT INTO "users" ("created_at", "hashed_password", "login", "salt", "updated_at") VALUES (?, ?, ?, ?, ?) ["created_at", Wed, 06 Mar 2013 03:36:19 UTC +00:00], ["hashed_password", nil], ["login", "eva"], ["salt", nil], ["updated_at", Wed, 06 Mar 2013 03:36:19 UTC +00:00] commit transaction => # 1.9.3-p374 :003 > User.first User Load (0.3ms) SELECT "users". FROM "users" LIMIT 1 => # 1.9.3-p374 :004 >