小编Jum*_*ton的帖子

如何从erb模板调用JavaScript函数?

如果您定义JavaScript函数然后从erb模板调用它,则不会调用该函数.为什么?单击此链接应显示警报,但不会.

= link_to "Add Sprout", new_sprout_path, remote: true
Run Code Online (Sandbox Code Playgroud)

控制器:

def new
  @sprout = Sprout.new
  respond_to { |format| format.js }
end
Run Code Online (Sandbox Code Playgroud)

然后在模板中我调用一个函数:

# sprouts/new.js.erb
doSomething();
Run Code Online (Sandbox Code Playgroud)

该函数在我的js文件中定义:

# javascripts/sprouts.js.coffee
doSomething = ->
  alert "yum ghum I am a new sprout."
Run Code Online (Sandbox Code Playgroud)

JavaScript回来了.我可以在控制台中看到它.但我看不到警报.为什么这不起作用?

我正在使用Rails 4.

jquery ruby-on-rails ujs

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

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

段落内部锚点内的数字:在HTML5中是合法的吗?

根据HTML5规范,您可以在块中嵌套块级元素.

<a>
  <article></article>
</a>
Run Code Online (Sandbox Code Playgroud)

但是在段落中嵌套块级元素是不合法的,因为p标签只能包含内联元素.

所以,这里有一个矛盾:

<p> <!-- block-level; can only contain inline elements -->
  <a> <!-- inline element; can contain block-level elements -->
    <figure></figure> <!-- block-level; can be nested in <a> but not <p> -->
  </a>
</p>
Run Code Online (Sandbox Code Playgroud)

以上块在HTML5中是否合法?

html html5

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

使用rvm1-capistrano3安装Ruby

我跑的时候

cap production rvm1:install:ruby
Run Code Online (Sandbox Code Playgroud)

我在控制台输出结束时收到此错误:

Command: cd ~/apps/foo/releases/20140121133714 && ( PATH=/opt/ruby/bin:$PATH /usr/bin/env /tmp/foo/rvm-auto.sh rvm install . )
Run Code Online (Sandbox Code Playgroud)

无法确定使用哪个Ruby; .应包含.rvmrc或.versions.conf或.ruby-version或.rbfu-version或.rbenv-version,或Gemfile中的相应行.
帽子流产!

编辑

.ruby-version我的应用程序的根目录添加了一个我得到的内容

DEBUG [af3b80bc] Command: cd ~/apps/foo/releases/20140121160854 && /usr/bin/env /tmp/foo/rvm-auto.sh rvm install .
DEBUG [af3b80bc]    ruby-2.0.0-p247 is not installed.
DEBUG [af3b80bc]    To install do: 'rvm install ruby-2.0.0-p247'
DEBUG [af3b80bc]    ruby-2.0.0-p247 is not installed.
DEBUG [af3b80bc]    Searching for binary rubies, this might take some time.
DEBUG [af3b80bc]    ruby-2.0.0-p247 is not installed.
DEBUG [af3b80bc]    Searching for binary rubies, this might …
Run Code Online (Sandbox Code Playgroud)

ruby capistrano ruby-on-rails rvm capistrano3

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

Ruby捕获两个冒号之间的单词

我想捕捉两个冒号之间的任何单词.我试过这个(试试Rubular):

(\:.*\:)
Run Code Online (Sandbox Code Playgroud)

您好:姓名:

你今天做什么,:标题:?

$:name:,有一个可爱的:事件:

它的工作原理除了捕获它的最后一行:

比赛3
1.:名称:,有一个可爱的:事件:

它被第二个(关闭)冒号和第三个(开放)冒号绊倒了.它应该捕获:name::event:单独在最后一行.

ruby regex

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

CSS没有获取数据属性的更改

我有一个tr,当盘旋时,显示一些链接.

我想在单击链接时禁用悬停行为.要做到这一点,我改变数据属性的值behaviourtr.但是CSS没有取消对数据属性的更改,并且链接在mouseout上仍然消失.

链接:

tr data-behaviour="has-hover-content"
  td
    = link_to task, data: { behaviour: 'toggle-confirm-spinner hover-content', confirm: "Delete?" }, remote: true do
      = icon_tag 'trash-o'
Run Code Online (Sandbox Code Playgroud)

CoffeeScript的

  # When the user clicks the link
  # Disable the hover behaviour on the tr
  $(document).on 'confirm', '[data-behaviour~="toggle-confirm-spinner"]', ->
    $(@).closest('tr').data 'behaviour', 'false'
Run Code Online (Sandbox Code Playgroud)

具有data-behaviour="has-hover-content"数据属性的任何元素,当悬停时,应显示具有的任何元素data-behaviour="hover-content".

*[data-behaviour~="has-hover-content"] {

  a[data-behaviour~="hover-content"] {
    display: none;
  }

  &:hover a[data-behaviour~="hover-content"] {
    display: inline-block;
  }
}
Run Code Online (Sandbox Code Playgroud)

当用户单击链接时,data-behaviourtr上的data属性设置为false.这意味着将鼠标移除tr应该不再隐藏链接.但是,它仍然存在.我提醒了数据属性的新值,它们正在正确设置.但CSS忽略了这一变化.

怎么会?

css jquery coffeescript ujs

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

`each_with_object(Hash.new([]))如何工作?

我编写了这段代码来制作哈希,其中键是类别(水果或蔬菜),值是该类别中的项目数组.

food = ["fruit:orange", "fruit:apple", "fruit:cherry", "veg:pea", "veg:parsley"]

food.each_with_object(Hash.new([])) do |food_item, hash|
  category, value = food_item.split(":")
  hash[category] = hash[category].push(value)
end
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

# =>
{
  "fruit" => ["orange", "apple", "cherry", "pea", "parsley"],
  "veg"   => ["orange", "apple", "cherry", "pea", "parsley"]
} 
Run Code Online (Sandbox Code Playgroud)

但我期待这个:

{
  "fruit"=> ["orange", "apple", "cherry"],
  "veg"  => ["pea", "parsley"]
} 
Run Code Online (Sandbox Code Playgroud)

第一次迭代应该产生{ fruit: ["orange"] },第二{ fruit: ["orange", "apple"] }次迭代......第四次迭代应该创建veg键,然后继续.蔬菜如何最终被推到水果阵列,反之亦然?

ruby arrays iteration hash

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

jQuery从空格分隔的数据属性中删除项目

鉴于此标记:

<a data-foo="bar baz">Hello</a>
Run Code Online (Sandbox Code Playgroud)

是否可以删除baz但保持bar,理想情况下不删除然后添加回来bar.

jQuery removeData方法似乎删除了指定的数据属性或所有数据属性.

javascript string jquery html5 custom-data-attribute

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