小编Xav*_*ier的帖子

ActionCable中`stream_from`和`stream_for`有什么区别?

这里的描述似乎暗示stream_for仅在传递记录时使用,但整体而言文档相当模糊.任何人都可以解释之间的差异stream_from,stream_for以及为什么你会使用其中一个?

ruby-on-rails ruby-on-rails-5 actioncable

12
推荐指数
2
解决办法
3940
查看次数

Rails 4.1:在 ActionMailer::Preview 中访问 c​​urrent_user

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

ruby-on-rails actionmailer ruby-on-rails-4.1

6
推荐指数
1
解决办法
868
查看次数

如何强制 ruby​​gems 或 shell 使用某个版本的 gem 可执行文件?

例如,我可以在我的机器上安装 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)但将默认值更改为另一个版本?

bash rubygems bundler

4
推荐指数
1
解决办法
609
查看次数

如何在没有Ajax的情况下在JavaScript中发布PHP?

所以我通过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)

javascript php ajax html5

0
推荐指数
1
解决办法
806
查看次数