小编mwi*_*ams的帖子

不显眼的Javascript来插入包含Rails RESTful URL的元素?

我有一个简单的页面,其中包含一个渲染的iFrame.有一个名为"添加文件"的链接,并且不引人注意地我想将一个事件附加到"添加文件"锚点,以便在单击时,它会在现有的iFrame下面插入一个新的iFrame,并增加iFrame的ID.

iFrame的一个例子是:

<iframe name="uploadForm1" id="uploadForm1" src="<%= upload_file_url %>" height="50" width="800" frameborder="0" scrolling="no"></iframe>
Run Code Online (Sandbox Code Playgroud)

然后当点击"添加文件"按钮时,我最终得到:

<iframe name="uploadForm1" id="uploadForm1" src="<%= upload_file_url %>" height="50" width="800" frameborder="0" scrolling="no"></iframe>
<iframe name="uploadForm2" id="uploadForm2" src="<%= upload_file_url %>" height="50" width="800" frameborder="0" scrolling="no"></iframe>
Run Code Online (Sandbox Code Playgroud)

什么是最好的方法(jQuery或Prototype)来实现这一目标?

然而,这看起来非常微不足道,因为我需要渲染upload_file_url路由,我不太确定如何在不浪费大量时间的情况下接近它!

任何帮助表示赞赏!

javascript ruby jquery ruby-on-rails

2
推荐指数
1
解决办法
386
查看次数

在Rails测试套件中使用工厂的优点和缺点?

我目前正在寻找一个庞大的Rails测试套件.我无法了解具体细节,但整个套件的运行时间(单元/功能/某些集成)可以运行5分钟.

我们完全依赖于固定装置,我们不会像我们应该那样嘲笑和抄袭.

我们接下来的几个冲刺将完全集中在测试套件上,既可以提高覆盖率,也可以编写更好的测试,最重要的是编写更有效的测试.

因此,除了在我们的测试中更多的嘲弄和顽固,我们正在考虑用最可能的工厂女孩​​替换我们的灯具.我看到很多快乐的人都在做类似的情况但却找不到有关搬到工厂的任何缺点的好资源.我在使用各种资源的基准测试时看到了一些较慢的基准测试,但是无法找到确定工厂为什么好的原因,这就是为什么你可能不想使用它们.

任何人都可以告诉我为什么或为什么我不应该使用工厂?

谢谢!

ruby testing refactoring ruby-on-rails factories

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

与Rails的时间比较问题

我手边有一项非常简单的任务.如果上次更新记录的时间超过15分钟,则显示一个按钮.否则,请勿显示按钮.

该字段是日期时间.

我的观点代码:

<% if @object.display_button? -%>
  my button
<% end -%>
Run Code Online (Sandbox Code Playgroud)

我对该对象的显示按钮方法:

def display_button?
  return false if last_updated.nil?
  if Time.now - last_updated > 15.minutes
    true
  else
    false
  end
end
Run Code Online (Sandbox Code Playgroud)

我也测试过这个单元,但是在实现时,它似乎没有用.

我的逻辑是正确的还是有更好的方法来完成这个?

ruby logic datetime ruby-on-rails

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

修改自定义defun以与Magit不冲突

我在.emacs中使用以下智能选项卡defun来完成一个单词或只是做一个标准选项卡:

(global-set-key [(tab)] 'smart-tab)
(defun smart-tab ()
  "This smart tab is minibuffer compliant: it acts as usual in
    the minibuffer. Else, if mark is active, indents region. Else if
    point is at the end of a symbol, expands it. Else indents the
    current line."
  (interactive)
  (if (minibufferp)
      (unless (minibuffer-complete)
        (dabbrev-expand nil))
    (if mark-active
        (indent-region (region-beginning)
                       (region-end))
      (if (looking-at "\\_>")
          (dabbrev-expand nil)
        (indent-for-tab-command)))))
Run Code Online (Sandbox Code Playgroud)

但是,当我magit-status用于git Git集成时,我之前可以选择一个已修改的文件,点击标签,并立即在该文件上看到差异以查看已修改的内容.但是,每当我现在尝试选项卡时,我的迷你缓冲区中都会出现以下错误.

indent-relative: Buffer is read-only: #<buffer *magit: my_project*

有关接近此问题的想法,并且可能仅将智能标签应用于某些模式吗?

谢谢!

emacs elisp text-editor magit

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