小编Jav*_*ier的帖子

YUI编辑:<p>而不是换线?

如何告诉YUI-Editor将所有文本括起来<p></p>并使用,<p></p>而不是<br>在用户发出换行符时?

这里有一个例子来说明我正在尝试做的事情:

而不是这个:

The quick brown fox<br>jumps over the lazy dog
Run Code Online (Sandbox Code Playgroud)

我想要这个:

<p><p>The quick brown fox</p><p>jumps over the lazy dog</p></p>
Run Code Online (Sandbox Code Playgroud)

任何想法除了解析整个HTML之前如何做到这一点,然后保存并找到 - 替换标签?

更新:我刚注意到,<p></p>如果整个文本都包含在内,YUI编辑器会自动发布换行符<p></p>.换句话说,问题是:

如何告诉YUI编辑器将整个文本包含在textarea中<p></p>

javascript yui ruby-on-rails richtextbox richtextediting

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

Nokogiri:选择元素A和B之间的内容

让Nokogiri选择start和stop元素之间的所有内容(包括start/stop-element)最聪明的方法是什么?

检查下面的示例代码,了解我在寻找什么:

require 'rubygems'
require 'nokogiri'

value = Nokogiri::HTML.parse(<<-HTML_END)
  "<html>
    <body>
      <p id='para-1'>A</p>
      <div class='block' id='X1'>
        <p class="this">Foo</p>
        <p id='para-2'>B</p>
      </div>
      <p id='para-3'>C</p>
      <p class="that">Bar</p>
      <p id='para-4'>D</p>
      <p id='para-5'>E</p>
      <div class='block' id='X2'>
        <p id='para-6'>F</p>
      </div>
      <p id='para-7'>F</p>
      <p id='para-8'>G</p>
    </body>
  </html>"
HTML_END

parent = value.css('body').first

# START element
@start_element = parent.at('p#para-3')
# STOP element
@end_element = parent.at('p#para-7')
Run Code Online (Sandbox Code Playgroud)

结果(返回值)应如下所示:

<p id='para-3'>C</p>
<p class="that">Bar</p>
<p id='para-4'>D</p>
<p id='para-5'>E</p>
<div class='block' id='X2'>
  <p id='para-6'>F</p>
</div>
<p id='para-7'>F</p>
Run Code Online (Sandbox Code Playgroud)

更新:这是我目前的解决方案,但我认为必须有更聪明的东西:

@my_content = ""
@selected_node …
Run Code Online (Sandbox Code Playgroud)

ruby parsing dom ruby-on-rails nokogiri

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

TinyMCE:在styleselect-menu中自定义样式名称

假设我有一个名为foo的CSS类,但希望它在TinyMCE styleselect-menu(高级主题中可用默认按钮之一)中显示为foo(1).

我尝试使用class_filter选项来执行此操作,但这似乎不起作用.

你会如何解决这个问题?

javascript tinymce richtextediting

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

了解ImageMagick的转换并转换为Ruby RMagick

我没有将以下PHP/ImageMagick代码转换为Ruby RMagick(以使其对未来用户更易于管理并了解它的真正用途):

$output = array();
$returnValue = 0;
$pngFiles = $myDir->find("/.png$/i");
foreach($pngFiles as $pngFile) {
   $cmd = 'convert '.$pngFile->path.' -resize 1x1 -alpha on -channel o -format "%[fx:u.a]" info:'
   exec($cmd, $output, $returnValue);
   if($output[0] != 1) {
      logMessage("PNG file contains some alpha transparency and will not be modified");
   }
}
Run Code Online (Sandbox Code Playgroud)

到现在为止,我以为我或多或少地理解了convert-command正在做什么,但将其翻译成RMagick让我重新思考.

例如:为什么$output[0] != 1 有时候 true在PNG格式$myDir,但RMagick的Image.alpha?始终 true对PNG图像的$myDir?我错过了什么吗?

我认为,如果有人能够向我解释转换命令正在做什么(包括表达式%[fx:u.a]),那么让我回到正轨的最佳方法就是.

更新:与此同时,我编写了我需要此信息的脚本.您可以在Github上查看它是否对您有任何帮助.

php ruby rmagick imagemagick

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

使用Ruby/Sinatra和Rest-Graph gem在Facebook App中获取signed_request

我使用Sinatra和Rest-Graph gem构建了一个Facebook应用程序.现在我想将该应用程序嵌入Facebook页面中作为iframe选项卡.

为此,我需要signed_request通过Facebook 从发送到我的应用程序中获取数据.

Rest-Graph gem 在其Github页面上声明了以下功能:

用于提取access_token并检查cookie/signed_request中的sig的实用程序

我找不到任何关于如何使用这个"实用程序"的文档.你能指点我一些文档甚至更好,给我一个关于它如何与Ruby/Sinatra一起使用的例子?

ruby sinatra facebook-iframe facebook-page facebook-graph-api

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

RJS:Ajaxified select_tag

由于我在上一个问题上没有得到预期的答案,我会尝试简化和缩小我的问题:

如何构建一个使用AJAX(无提交按钮)来调用某个控制器的show动作的下拉菜单?

给出以下内容:

模型关联类别HABTM项目,因此下拉菜单包含所有类别名称.

应该实现下拉菜单的视图部分.下拉菜单下方是一个项目列表,应根据下拉菜单中的选择进行更改:

   <!-- placeholder for AJAX dropdown menu -->

   <!-- list of projects related to categories chosen by the select tag -->
   <ul class="projects">
     <% @projects.each do |_project| %>
       <li>
         <%= link_to(_project.name, _project) %>
       </li>
     <% end %>
   </ul>
Run Code Online (Sandbox Code Playgroud)

具有应该调用的show-action 的Categories控制器:

class CategoriesController < ApplicationController
  def show
    # params[:id] should be the choice the user made in the dropdown menu
    @category = Category.find(params[:id])
    @projects = @category.projects.find(:all)

    respond_to do …
Run Code Online (Sandbox Code Playgroud)

javascript ruby ruby-on-rails rjs

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

RJS:检查现有的页面元素?

我有一个id为"foo"的文本域,有时存在,有时不存在.如果它存在,我想填写一定的价值.

你是如何通过使用RJS(在Rails 2.2中)这样做的?

我尝试过这个并不起作用:

if page[:foo]
  page[:foo].value = "bar"
end
Run Code Online (Sandbox Code Playgroud)

我明白了

TypeError:Null如果文本字段不存在,则为Value

.

javascript prototype ruby-on-rails rjs

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

在Sinatra 1.2.0和Ruby 1.9.2上使用Case Expression的SyntaxError

我正在使用带有Ruby 1.9.2的Sinatra 1.2.0(我需要在这个项目中使用这个版本的Ruby)并且我不知道为什么我一直得到这个SyntaxError.我在index.erb中使用以下内容时可以重现此错误:

<% @status = "foo" %>
The case is: <br />

<% case @status %>
  <% when "foo" %>
    It's a FOO!
  <% when "bar" %>
    It's a BAR!
  <% else %>
    It's something else...!
<% end %>
Run Code Online (Sandbox Code Playgroud)

错误:

SyntaxError at /
/Users/foo/Workspace/sinatra_case_test/views/index.erb:4: syntax error, unexpected tIVAR, expecting keyword_when ; case @status ; @_out_buf.concat "\n " ^ 
/Users/foo/Workspace/sinatra_case_test/views/index.erb:5: syntax error, unexpected keyword_when, expecting keyword_end ; when "foo" ; @_out_buf.concat "\n …
Run Code Online (Sandbox Code Playgroud)

ruby rack erb sinatra

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

RJS:在select_tag上使用observe_field

我的应用程序中的下拉菜单(由select_tag构建)应在用户更改下拉菜单中的值时立即调用filter-category-action并点击"Go"按钮.

现在我想摆脱'Go'按钮并让观察者(observe_field?)在用户更改下拉菜单中的值时立即调用filter-category-action.

下面你看到我写的代码.它使用'Go'-Button工作,但只是更改下拉菜单中的值不起作用.我的observe_category_select-helper出了什么问题?

视图 - 部分与下拉菜单和项目列表

    <!-- drop down menu -->
    <% form_tag(filter_category_path(:id), :method => :post, :class => 'categories') do %>
       <label>Categories</label>
       <%= select_tag(:category, options_for_select(Category.all.map {|category| [category.name, category.id]}, @category_id)) %>
       <!-- i would like to get rid of this button -->
       <%= submit_tag "Go" %>
     <% end %>

   <!-- list of projects related to categories chosen in drop down menu -->
   <ul class="projects">
     <% @projects.each do |_project| %>
       <li>
         <%= link_to(_project.name, _project) %>
       </li>
     <% end %>
   </ul>

   <%= observe_category_select …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rjs

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

使用 libusb 和 Ruby 从 USB 设备(Waterrower S4 Monitor)读取数据

我买了一个Waterrower,它有一个S4 性能监视器,背面有一个微型 USB 连接器,我认为能够获取来自 S4 的数据并用它做一些很好的事情会很好。

我确实知道一些 Ruby,但我一点也不喜欢与硬件交谈。我确实在 Github 上找到了Lars Kanislibusb Ruby 绑定,并使用了它:

2.1.0 :001 > require "libusb"
 => true 
2.1.0 :002 > usb = LIBUSB::Context.new
 => #<LIBUSB::Context:0x000001011451c0 @ctx=#<FFI::Pointer address=0x000001032788b0>, @on_pollfd_added=nil, @on_pollfd_removed=nil, @hotplug_callbacks={}> 
2.1.0 :003 > usb.devices
 => [#<LIBUSB::Device 20/9 04d8:000a Microchip Technology Inc. CDC RS-232: WR-S4.2 ? (Comm (00,00))>, #<LIBUSB::Device 20/8 054c:0243 Sony Storage Media 2A08080530914 (MassStorage SCSI Bulk-Only)>, #<LIBUSB::Device 20/1 05ac:025a Apple Inc. Apple Internal Keyboard / Trackpad ? (HID …
Run Code Online (Sandbox Code Playgroud)

ruby macos usb libusb osx-yosemite

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

Rails(或者可能是SQL):查找和删除重复的AR对象

"位置"类(表示数据库表位置)的ActiveRecord对象具有属性"url","lat"(纬度)和"lng"(经度).

此模型上的Lat-lng组合应该是唯一的.问题是,数据库中有很多位置对象具有重复的lat-lng组合.

在执行以下操作时我需要帮助

  1. 查找共享相同lat-lng组合的对象.
  2. 如果对象的"url"属性不为空,请保留此对象并删除其他重复项.否则,只需选择最旧的对象(通过检查属性'created_at')并删除其他重复项.

由于这是一次性操作,因此欢迎SQL(MySQL 5.1兼容)中的解决方案.

ruby mysql sql activerecord ruby-on-rails

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