小编ben*_*ben的帖子

如何从Ruby on Rails帮助方法返回javascript?

我有一个Note模型,它可以包含图像链接附件(linktype ="image"或某些文本(linktype ="text).当我显示注释时,显示方法会根据链接类型而改变.例如:

<% @notes.each do |q| %>
    <h2 class="title"><%= q.name %></h2>
    <% if q.linktype == "other"%>
        <script type="text/javascript">some javascript</script>
    <% elsif q.linktype == "text"%>
        <%= q.text %>
    <% elsif q.linktype == "image"%>
       <img src="<%= q.link %>" />
    <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我必须在我的网站中以几个不同的视图显示注释,因此我不想多次重复查看代码,而是希望将它放在一个地方并从不同的视图中引用它.

我最初的想法是将显示代码放在帮助器中,如下所示:

<% @notes.each do |q| %>
    note_display(q.linktype, q.link)
<% end %>
Run Code Online (Sandbox Code Playgroud)

但是一些显示涉及javascript(第一个代码块中的第4行).我仍然可以使用辅助方法,即使我需要它来返回javascript吗?如果是这样,我该怎么办?谢谢阅读.

javascript ruby-on-rails helpers

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

jQuery UI Datepicker altField .change函数不起作用?

任何人都可以告诉我为什么当我使用jQuery UI Datepicker选择日期时,console.log行没有运行?谢谢阅读.

<script type="text/javascript">
    $(window).ready(function() {
        $(function() {
            $("#datepicker").datepicker({ altField: '#dateIntermediate'});
        });
        $('#dateIntermediate').change(function(){ 
            console.log("dateIntermediate changed");
        });
    });
</script>
<p>Date: <input id="datepicker" type="text"></p>
<input type="hidden" id="dateIntermediate" />
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-ui javascript-events jquery-ui-datepicker

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

为什么当我将这个CSS样式的高度更改为从px到%的div时,它不起作用?

这段代码中(使用jQuery),html中的以下行

#canvas { height: 500px; background: white; }
Run Code Online (Sandbox Code Playgroud)

设置画布上的高度以进行绘制.但是,如果您将高度更改为百分比值,如下所示:

#canvas { height: 20%; background: white; }
Run Code Online (Sandbox Code Playgroud)

画布根本不显示.这是为什么?谢谢阅读.

css jquery

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

使用.css()和像素值设置left,top,width和height参数有效,但使用百分比值不行?

这个jQuery中,我正在画布div上画一个正方形:

$(document).ready(function() {
    var canvas = $('#canvas');
    canvas.append('<div id="1"></div>');
    $('#1').addClass('ui-boxer')
                .css({ border: '1px solid white',
                       background: 'orange',
                       padding: '0.5em',
                       position: 'relative',
                       'z-index': 100,
                       left: 1, top: 1,
                       width: 50, height: 50});        
});
Run Code Online (Sandbox Code Playgroud)

这很好用.但是我需要为left,top,width和height参数使用百分比而不是px值.我试过这个,但它不起作用:

$(document).ready(function() {
    var canvas = $('#canvas');
    canvas.append('<div id="1"></div>');
    $('#1').addClass('ui-boxer')
                .css({ border: '1px solid white',
                       background: 'orange',
                       padding: '0.5em',
                       position: 'relative',
                       'z-index': 100,
                       left: 1%, top: 1%,
                       width: 50%, height: 50%});        
});
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?谢谢阅读.

html css jquery

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

我无法添加最新的Google Apps Email MX记录,因为Zerigo DNS仅允许10条记录.这有关系吗?

我使用Heroku进行网站托管,使用Zerigo进行DNS管理.我正在尝试设置Google Apps电子邮件,但我无法添加最后一条MX记录(ASPMX5.GOOGLEMAIL.COM.),因为我已达到Zerigo允许的总记录数限制为10.如果我不添加最后一条记录会有关系吗?

dns heroku mx-record google-apps

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

为什么在Heroku slug编译期间没有编译这个新的CSS清单文件,而正常的应用程序清单工作正常?

我在Heroku Cedar堆栈上运行了Rails 3.2.11.我不编译资产在本地,他们所描述的自动塞在编译过程中编译,在这里.app/assets/stylesheets/new_manifest.css.scss除了默认设置,我刚刚创建了一个新的CSS清单文件application.css.scss.当我推送到Heroku时,这个清单文件没有被编译application.css.scss为.新的清单文件在开发中工作正常.为什么会这样?

application.rb中

config.assets.enabled = true
config.assets.version = '1.0'
config.assets.initialize_on_precompile = false
Run Code Online (Sandbox Code Playgroud)

production.rb

config.assets.compile = false
config.serve_static_assets = false
config.assets.compress = true
config.assets.digest = true
Run Code Online (Sandbox Code Playgroud)

Heroku推出的控制台输出

-----> Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       Asset precompilation completed (83.62s)
Run Code Online (Sandbox Code Playgroud)

样本页面

<%= stylesheet_link_tag "new_manifest", media: "all" %>
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku ruby-on-rails-3 asset-pipeline

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

我可以使用Hpricot查找任何/大多数网站的主要文章文本吗?

我需要一种从显示文章的任何网页中提取主要文本的方法.类似于Readability可以在任何运行的网站上找到主要文本的方式.

我正在使用Ruby on Rails,所以我认为Hpricot是我最好的选择.我在Hpricot中寻找的是什么?某处有例子吗?谢谢阅读.


ruby screen-scraping hpricot

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

如何在Ruby中将"Sat Nov 06 05:48:16 +0000 2010"转换为'11 -06-2010'?

我怎么能转换"Sat Nov 06 05:48:16 +0000 2010"'11-06-2010'Ruby中?我试过了

Date.strptime("Sat Nov 06 05:48:16 +0000 2010", '%m-%d-%Y')
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

ArgumentError (invalid date):
  /Users/ben/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/date.rb:1688:in `new_by_frags'
  /Users/ben/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/date.rb:1713:in `strptime'
Run Code Online (Sandbox Code Playgroud)

我正在使用ruby 1.9.2p0(2010-08-18修订版29036).

我究竟做错了什么?感谢阅读.

ruby date

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

如何修复此Rails AR查询以获取至少5分钟的记录?

编写返回至少5分钟记录的Rails查询的最佳方法是什么?我使用的是Rails 3.0.1,Ruby 1.9.2和PostgreSQL.目前我有这个:

Note.order('date DESC').where('private_note = ? AND (?-created_at) > 300',false, Time.now.utc)
Run Code Online (Sandbox Code Playgroud)

得到这些错误:

Note Load (0.7ms)  SELECT "notes".* FROM "notes" WHERE (private_note = 'f' AND ('2011-09-28 01:07:30.094475'-created_at) > 300) ORDER BY date DESC
PGError: ERROR:  operator does not exist: interval > integer
LINE 1: ...'f' AND ('2011-09-28 01:07:30.094475'-created_at) > 300) ORD...
                                                             ^
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.
: SELECT     "notes".* FROM       "notes"  WHERE     (private_note = 'f' AND …
Run Code Online (Sandbox Code Playgroud)

time activerecord ruby-on-rails ruby-on-rails-3

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

给定字符串中的日期名称,如何在当前周内获得表示该日期的Time对象?

给定一个带有日期名称的字符串,即"Wednesday"如何在当前周(周一至周日)内获得表示该日的Time对象?

因此,例如,如果当前日期是5月29日星期二,并且字符串是"Monday",则时间对象应该表示Monday 28 May.如果字符串是"Friday",它应该是Friday 1 June.

如果当前日期是6月5日星期二,而字符串是"Monday",则时间对象应该代表Monday 4 June.如果字符串是"Friday",它应该是Friday 8 June.

我使用的是Rails 3.2.0和Ruby 1.9.2.

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

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