我有一个Rails 3.2应用程序,它使用PostgreSQL来存储所有信息.
但在一个Rake任务中,我需要与MySQL服务器建立连接.我试着这样做:
ActiveRecord::Base.establish_connection(
:adapter => "mysql2",
:database => "foo",
:user => "root",
:password => "",
)
Run Code Online (Sandbox Code Playgroud)
但它只是用这个临时MySQL替换我的默认PostgreSQL连接.
如何为实例进行额外连接?
我最近扩展了CWebUser类,现在它有这样有用的方法:
Yii::app()->user->isAdmin;
Yii::app()->user->isTeacher;
Yii::app()->user->isStudent;
Run Code Online (Sandbox Code Playgroud)
现在有accessControl过滤器的麻烦.
之前,为了只允许管理员访问,我用过:
public function accessRules()
{
return array(
array('allow',
'actions'=>array('index','update', 'create', 'delete'),
'users'=>array('admin'),
),
array('deny',
'users'=>array('*'),
),
);
}
Run Code Online (Sandbox Code Playgroud)
如何重写accessRules只为具有Yii :: app() - > user-> isAdmin属性的用户委派访问权限?
我试图从示例中运行简单的代码:
require.paths.unshift('/etc/npm'); // path to modules
var httpAgent = require('http-agent'),
jsdom = require('jsdom'),
sys = require('sys');
var agent = httpAgent.create('www.twitter.com', ['', 'about']);
agent.addListener('next', function (e, agent) {
var body = agent.body;
var window = jsdom.jsdom(body, {},{}).createWindow();
jsdom.jQueryify(window, 'http://code.jquery.com/jquery-1.4.2.js', function (window, jquery) {
agent.next();
});
});
agent.addListener('stop', function (agent) {
sys.puts('the agent has stopped');
});
agent.start();
Run Code Online (Sandbox Code Playgroud)
但它在这一行上返回了很多错误:
var window = jsdom.jsdom(body, {},{}).createWindow();
Run Code Online (Sandbox Code Playgroud)
误差修改:
kir@nas:~/node$ node test.js
/usr/local/lib/node/.npm/jsdom/0.1.21/package/lib/jsdom/browser/index.js:197
if (!dom.HTMLDocument.write) {
^
TypeError: Cannot read property 'write' of undefined
at Object.browserAugmentation (/usr/local/lib/node/.npm/jsdom/0.1.21/package/lib/jsdom/browser/index.js:197:24) …Run Code Online (Sandbox Code Playgroud) 我有一个Page带有额外字段keywords和descriptionSEO 的模型.
如何在Rails中实现SEO功能,meta并在每个页面上添加带有关键字和描述的标签?
使用Rails迁移创建的所有表和字段都有latin1_swedish_ci整理.因为我的项目使用的是俄语,所以这种校对是不合适的.
是否可以使用迁移utf8_general_ci?
PS我的database.yml:
development:
adapter: mysql2
encoding: utf8
collation: utf8_general_ci
reconnect: false
database: my_development
pool: 5
username: username
password: 'heavy'
host: localhost
Run Code Online (Sandbox Code Playgroud) 我想从没有ActiveRecord适配器的Rails应用程序连接到SQL Server.
我跟着回答了这个问题.我安装了ruby-odbc gem并从ruby脚本连接到SQL Server没有任何问题.
db = DBI.connect('dbi:ODBC:ACUMENSERVER', 'login', 'password')
select = db.prepare('SELECT * from customer WHERE id = 1')
select.execute
while rec = select.fetch do
puts rec.to_s
end
db.disconnect
Run Code Online (Sandbox Code Playgroud)
但是当我尝试在Rails控制器中执行此代码时,会发生错误:
{:forgery_whitelisted?=>"it is just an alias for 'get?' now, update your code"} is not a symbol
/home/user/.rvm/gems/ruby-1.9.2-p136/gems/deprecated-2.0.1/lib/deprecated.rb 176 in `instance_method'
/home/user/.rvm/gems/ruby-1.9.2-p136/gems/deprecated-2.0.1/lib/deprecated.rb 176 in `block in '
Run Code Online (Sandbox Code Playgroud)
据我所知,deprecated宝石是必需的dbi.当我尝试安装最新版本的deprecated打印机时:
Bundler could not find compatible versions for gem "deprecated":
dbi depends on deprecated …
当我尝试拉取单个分支并对其重新设置基础时,git失败Cannot rebase onto multiple branches。
我浏览了现有的问题,所有这些问题都建议指定分支以避免错误。就我而言,它仍然失败:
$ git pull --rebase origin master
From github.com:xxx/yyy
* branch master -> FETCH_HEAD
Cannot rebase onto multiple branches
Run Code Online (Sandbox Code Playgroud)
运行该命令2-3次会有所帮助,并且存储库将被拉出。
我的git配置:
[color]
ui = true
[core]
pager = less -r
autocrlf = input
excludesfile = /Users/kir/.gitignore_global
editor = /usr/bin/vim
[push]
default = simple
[filter "lfs"]
clean = git-lfs clean %f
smudge = git-lfs smudge %f
required = true
Run Code Online (Sandbox Code Playgroud)
Git版本:2.7.2(Brew的最新版本)