这里的描述似乎暗示stream_for仅在传递记录时使用,但整体而言文档相当模糊.任何人都可以解释之间的差异stream_from,stream_for以及为什么你会使用其中一个?
Rails 4.1 有一个很好的方法来预览邮件程序ActionMailer::Preview。我的所有邮件程序都带有一个user参数,我想current_user(从 Devise)传入该参数以进行预览。
如果我尝试这个,它不起作用。
class SubscriptionsMailerPreview < ActionMailer::Preview
# Preview this email at http://localhost:3000/rails/mailers/subscriptions_mailer/new
def new
SubscriptionsMailer.new(current_user)
end
end
Run Code Online (Sandbox Code Playgroud)
它返回undefined local variable or method 'current_user' for #<SubscriptionsMailerPreview:0xa6d4ee4>。
我怀疑这是因为current_user由 Devise 在 中定义ApplicationController,并且根据文档,ActionMailer使用AbstractController::Base. 在这种情况下,存储current_user在类变量中是一个坏主意吗?
有谁知道我如何使用current_user帮助程序ActionMailer::Preview?
例如,我可以在我的机器上安装 v1.3.6 的 bundler,但是 shell 仍然会使用 v1.11.2:
$ gem install bundler -v 1.3.6
...
1 gem installed
$ bundle -v
Bundler version 1.11.2
Run Code Online (Sandbox Code Playgroud)
要实际使用v1.3.6,我必须每次都明确说明或卸载 v1.11.2:
$ bundle _1.3.6_ -v
Bundler version 1.3.6
$ gem uninstall bundler -v 1.11.2
...
$ bundle -v
Bundler version 1.3.6
Run Code Online (Sandbox Code Playgroud)
我如何保持安装早期版本的 Bundler(如 1.11.2)但将默认值更改为另一个版本?
所以我通过ajax将这个代码用于拖拽和drog文件上传到PHP,但显然我的web主机没有ajax.没有ajax我有什么方法可以做到的吗?具体来说,我指的是UploadFile函数,最后是进度条部分(这似乎不起作用......)
(function() {
// getElementById
function $id(id) {
return document.getElementById(id);
}
// output information
function Output(msg) {
var m = $id("messages");
m.innerHTML = msg + m.innerHTML;
}
// file drag hover
function FileDragHover(e) {
e.stopPropagation();
e.preventDefault();
e.target.className = (e.type == "dragover" ? "hover" : "");
}
// file selection
function FileSelectHandler(e) {
// cancel event and hover styling
FileDragHover(e);
// fetch FileList object
var files = e.target.files || e.dataTransfer.files;
// process all File objects
for (var i = 0, f; …Run Code Online (Sandbox Code Playgroud) actioncable ×1
actionmailer ×1
ajax ×1
bash ×1
bundler ×1
html5 ×1
javascript ×1
php ×1
rubygems ×1