小编mar*_*ion的帖子

如何让 Turbolinks 停止干扰我的 JS?

所以我按下了一个按钮来执行一些 JS。但是发生的事情是在它工作的页面的第一次加载时,但是一旦我转到另一个页面并按下该新页面上的按钮,它就不起作用了。

根据 Turbolinks 文档,这是正常的 - 所以我必须进行修改。

这部分包含在这个 RailsCast 中 - http://railscasts.com/episodes/390-turbolinks?view=asciicast - 但 Ryan 给出的解决方案是在 CoffeeScript 中,我使用的是普通的旧 vanilla JS。

这是我的posts.js文件:

$(function(){

    var toggleSidebar = $("#togglesidebar");
    var primary = $("#primary");
    var secondary = $("#secondary");

    toggleSidebar.on("click", function(){

        if(primary.hasClass("col-sm-9")){
            primary.removeClass("col-sm-9");
            primary.addClass("col-sm-12");
            secondary.css('display', 'none');
        }
        else {
            primary.removeClass("col-sm-12");
            primary.addClass("col-sm-9");
            secondary.css('display', 'inline-block');
        }
    });

});


$(document).on('page:load');
Run Code Online (Sandbox Code Playgroud)

根据 RailsCasts,这是他们的建议:

ready = ->
  $('.edit_task input[type=checkbox]').click ->
    $(this).parent('form').submit()

$(document).ready(ready)
$(document).on('page:load', ready)
Run Code Online (Sandbox Code Playgroud)

当我在我的底部尝试这个时posts.js

$(document).ready();
$(document).on('page:load', ready());
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Uncaught ReferenceError: ready is not defined 
Run Code Online (Sandbox Code Playgroud)

关于如何获得这个的想法?我很确定它很简单,但是我几乎没有 …

javascript jquery ruby-on-rails coffeescript turbolinks

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

Ruby`require':无法加载此类文件(LoadError)

我有一个看起来像这样的目录结构:

 - lib
   - yp-crawler (directory)
      - file-a.rb
      - file-b.rb
      - file-c.rb
   - yp-crawler.rb
Run Code Online (Sandbox Code Playgroud)

我的lib/yp-crawler.rb文件看起来像这样:

require "yp-crawler/file-c"
require "yp-crawler/file-b"
require "yp-crawler/file-a"

module YPCrawler
end
Run Code Online (Sandbox Code Playgroud)

当我尝试通过执行以下操作在命令行运行我的文件时:

ruby lib/yp-crawler.rb
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

`require': cannot load such file -- yp-crawler/file-c (LoadError)
    from .rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from lib/yp-crawler.rb:1:in `<main>'
Run Code Online (Sandbox Code Playgroud)

什么可能导致这种情况?

ruby

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

如何在另一个<div>标签中选择<div>标签?

我有以下内容:

<div id="view">
    <div id="navbar">
        Placeholder Text
    </div>

</div>
Run Code Online (Sandbox Code Playgroud)

我想在'navbar'中设置文本样式.但是,在样式表中名为"navbar"的文档中还有另一个div?

我以为它是这样的:

#view#navbar {
font-style: normal;
...etc
}
Run Code Online (Sandbox Code Playgroud)

但那没用.

思考?

html css

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

如何将键盘绑定添加到轮播功能? - jQuery

你可以在这里看到实现.

我希望能够使用键盘上的左右箭头循环显示图像.我怎么做,使用jQuery或CSS?

HTML看起来像这样:

<div id="slider-code">
        <a class="buttons prev" href="#"></a>
        <div class="viewport">
            <ul class="overview">           
                <li><img src="images/red-stripe.jpg" /></li>
                <li><img src="images/red-stripe-bw.jpg" /></li>
                <li><img src="images/red-stripe-red.jpg" /></li>            
                <li><img src="images/red-stripe-dark.jpg" /></li>
                <li><img src="images/red-stripe.jpg" /></li>
                <li><img src="images/red-stripe-red.jpg" /></li>
                <li><img src="images/red-stripe-dark.jpg" /></li>           
            </ul>       
        </div>
        <a class="buttons next" href="#"></a>
    </div>
Run Code Online (Sandbox Code Playgroud)

CSS:

#slider-code { 
    height: 125px; 
    overflow:hidden;
    margin: auto;    /* top, right, bottom, left */ 
}

#slider-code .viewport { 
/*  margin-left: auto;    -- With this enabled, the arrows don't work.
    margin-right: auto;  */
    margin: 0 auto;    /* top, …
Run Code Online (Sandbox Code Playgroud)

javascript css keyboard jquery

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

如何在左上角的 &lt;td&gt; 中对齐某些内容 - 而不对齐所有内容?

说我有这样的东西:http : //jsfiddle.net/Dtsjh/

如何将每个单元格中的数字对齐到每个单元格的左上角 - 而不对齐单词?

最好只使用 HTML/CSS - 但如果你不能做任何这些,那么 jQuery 就可以了。

html css

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

没有这样的文件加载 - rest_client(Rails 3)

当我这样做时thin start,这是我得到的错误:

$ thin start
>> Using rack adapter
/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `require': no such file to load -- rest_client (LoadError)
    from /.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `block in require'
    from /.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:225:in `block in load_dependency'
    from /.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:596:in `new_constants_in'
    from /.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `require'
    from /.rvm/gems/ruby-1.9.2-p0/gems/stripe-1.5.13/lib/stripe.rb:9:in `<top (required)>'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `block (2 levels) in require'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `each'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `block in require'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `each'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `require'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler.rb:112:in `require'
    from /app/config/application.rb:7:in `<top (required)>'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from <internal:lib/rubygems/custom_require>:29:in …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-3

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

如何以DRY方式基于current_page将"活动"类应用于导航? - Rails 3

所以在我application.html.erb看来,我的导航结构看起来像这样:

<div id="navigation">
            <ul class="pills">
                    <% if current_page?(:controller => 'welcome', :action => 'index') %>
                        <li><%= link_to "Profile", vanity_path(:vname => current_user.username) %></li>
                        <li><%= link_to "Settings", settings_path %></li>
                        <li><%= link_to "Sign Out", signout_path %></li>
                    <% elsif !current_page?(:controller => 'welcome', :action => 'index') %>
                        <li><%= link_to "Home", root_path %></li>
                        <li><%= link_to "Profile", vanity_path(:vname => current_user.username) %></li>
                        <li><%= link_to "Settings", settings_path %></li>
                        <li><%= link_to "Sign Out", signout_path %></li>              
                    <% end %>
            </ul>
        </div>
Run Code Online (Sandbox Code Playgroud)

但是,我想要做的是,一旦它们出现在导航中的任何页面上,它就会将类应用于active相应的链接.

因此,例如,如果用户在mydomain.com/johnbrown哪个Profile链接上,则rails helper看起来像这样: …

ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

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

检测是否已单击链接并应用其他CSS类(如果已有)

所以我想要做的是确定当前链接是否"活动",即用户是否只是点击了此链接.

如果是,那么我想应用class=selected到该<li>项目.

所以这就是我正在使用的:

<ul>
   <li><a href="#">Link 1</a></li>
   <li><a href="#">Link 2</a></li>
   <li><a href="#">Link 3</a></li>
   <li><a href="#">Link 4</a></li>
   <li><a href="#">Link 5</a></li>
</ul>  
Run Code Online (Sandbox Code Playgroud)

如果选择了链接,我希望<li>看起来像这样:

<li class="selected"><a href="#">Link 1</a></li>

所以唯一的区别是,有一个类应用于它,而另一个没有.

我想在一个erb文件中这样做.所以Ruby会成为首选的语言......但是,它不是Rails(确切地说是Sinatra).

谢谢.

编辑1

使用jQuery可能是必要的,这很好.

html css jquery

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

如何仅使用部分创建4x4网格?

假设我的集合中有16个对象,我想创建4行,每行4个.

我如何使用partials?

一种方法是在主页面上使用一个部分,并使每个部分呈现部分.然后在那部分内部,有4个对象 - 但我如何实际做到这样,它不重复对象和所有这些好东西?

所以我想的结构是局部的(产生4行),而每个部分是另一个并排产生4个物体的部分.

但不太确定如何解决这个问题.

建议?

ruby-on-rails partial-views ruby-on-rails-3

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

如何使用带有rails form helper的图标创建此HTML5按钮?

这是我想要的输出:

<button type="submit" class="btn btn-large btn-search btn-primary">
  <i class="icon icon-search"></i> Find Your Apartment
</button>
Run Code Online (Sandbox Code Playgroud)

如果我这样做是为了一个链接,而不是一个按钮,我可能会做这样的事情:

<%= link_to root_path do %>
  <i class="icon icon-search"></i> Find Your Apartment
<% end %>
Run Code Online (Sandbox Code Playgroud)

但鉴于我正在使用Rails表单助手,我不太确定如何使用f.submit.

我试过了:

<%= f.submit, :class => "btn btn-large btn-search btn-primary" do %>
  <i class="icon icon-search"></i> Find Your Apartment
<% end %>
Run Code Online (Sandbox Code Playgroud)

这给了我一个语法错误.

思考?

编辑1:

对于它的价值,这不会给我语法错误,但它不会呈现图标或"查找您的公寓"文本:

<%= f.submit "Find Your Apartment", :class => "btn btn-large btn-search btn-primary" do %>
  <i class="icon icon-search"></i> Find Your Apartment
<% end %>
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-3

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