小编Sil*_*ver的帖子

Ruby - 读取和编辑XML文件

我正在编写一个Ruby(1.9.3)脚本,它从文件夹中读取XML文件,然后在必要时进行编辑.

我的问题是我得到了由Tidy转换的XML文件,但它的输出有点奇怪,例如:

<?xml version="1.0" encoding="utf-8"?>
<XML>
  <item>
      <ID>000001</ID>
      <YEAR>2013</YEAR>
      <SUPPLIER>Supplier name test,
      Coproration</SUPPLIER>
...
Run Code Online (Sandbox Code Playgroud)

正如你可以看到有和更多的CRLF.我不知道为什么它有这种行为,但我用ruby脚本解决它.但我遇到麻烦,因为我需要看到该行的最后一个字符是" > "还是第一个字符是" < ",以便我可以看到标记是否有问题.

我试过了:

Dir.glob("C:/testing/corrected/*.xml").each do |file|

puts file

  File.open(file, 'r+').each_with_index do |line, index|

    first_char = line[0,1]

    if first_char != "<"
        //copy this line to the previous line and delete this one?
    end

  end

end
Run Code Online (Sandbox Code Playgroud)

当我将其读取到另一个临时文件然后覆盖时,我也觉得我应该复制原始文件内容.这是最好的"方式"吗?欢迎任何提示,因为我在更改文件内容方面没有太多经验.

问候

ruby xml ruby-1.9.3

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

Ruby on Rails - 将值传递给link_to

我是RoR初学者并使用Rails 3.2.3.

我的页面上有一个搜索表单,它会执行get请求并正确过滤结果.

我想添加按日期搜索产品的可能性.我插入了一个date_select并且能够选择日期,当搜索后页面刷新时,所选日期仍然在date_select上,因为我能够通过它params.

但是,我的问题是,当页面呈现产品时,他们有一个link_to到他们的show动作.我的目标是还在URL上传递选定的日期以在该link_to上执行搜索.

例如,如果用户选择20-06-2012至25-06-2012的日期,则仅显示在该时间范围内插入的产品(并且所有这些参数都在网址上)

但是显示每个显示产品的动作的链接仅是:

link_to <%= link_to product.name, product%>
Run Code Online (Sandbox Code Playgroud)

这呈现

http://localhost:3000/products/24 (例子)

我想渲染/展示的是:

http://localhost:3000/products/24?from=20-06-2012&to=25-06-2012
Run Code Online (Sandbox Code Playgroud)

此时执行搜索的所选日期不会存储在数据库中,但我需要从后一页的URL中获取它们,因此,在用户填写之前,需要通过2个不同的页面保留这两个日期.表单,然后将这些日期插入数据库中.

关于这个的任何提示?我搜索过,但我发现的只是如何传递模型中存在的变量,我不想使用cookie或会话变量.

在此先感谢,问候

parameters url ruby-on-rails link-to url-parameters

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

Ruby on Rails - 多个表中的Where子句

使用rails 3.2.3.

这真让我抓狂.我知道活动记录应该简化这些类型的操作,但我无法理解它.

我有一个酒店和设施模型.两者都有has_and_belongs_to_many关系.酒店可以有许多设施,我的目标是搜索酒店的名称/位置,评级和设施.

我可以通过前两个搜索但不能按设施搜索(它们是搜索表单上的复选框).

查看代码:

<%= form_tag hotels_path, :method =>'get' do%>
        <p>
            <b>Location:</b>
            <%= text_field_tag :search, params[:search]%><br /><br />


            <b>Rating:</b><br />
            <%= radio_button_tag :ranking, '5'%>5 Stars<br />
            <%= radio_button_tag :ranking, '4'%>4 Stars<br />
            <%= radio_button_tag :ranking, '3'%>3 Stars<br />
            <%= radio_button_tag :ranking, '10'%>Hostels<br /><br />


            <b>Facilities:</b><br />
            <% for facility in Facility.find(:all) %>
                <div class="field">
                    <%= check_box_tag "fc[]", facility.id%>
                    <%= facility.description %>
                </div>
            <% end %>

            <%= submit_tag "Search", :name => nil%>
        </p>
        <%end%>
Run Code Online (Sandbox Code Playgroud)

酒店控制器:

 def index
    @hotels= Hotel.search(params) …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails multiple-tables where where-clause

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

Yii框架 - 导航栏选项中的Twiiter Bootstrap TbMenu

我开始研究Yii和PHP,并且正在使用cniska.net的这个Twitter Bootstrap, 并且能够使它工作.

然而,我发现一些困难使它按照我想要的方式工作.并且在文档中没有找到任何有用的东西,尽管我可能错过了一些东西.

我有这样的导航栏:

      $this->widget('bootstrap.widgets.TbNavbar', array(
          'brand'=>'XPTO',
          'brandUrl'=>'#',
          'fixed' => 'top',
          'collapse'=>true, // requires bootstrap-responsive.css
          'items'=>array(
              array(
                  'class'=>'bootstrap.widgets.TbMenu',
                  'items'=>array(
                      array('label'=>'1st Link', 'url'=>'#', 'active'=>true),
                      array('label'=>'2nd Link', 'url'=>'#'),
                      array('label'=>'3rd Link', 'url'=>'#'),
                      array('label'=>'4thLink', 'url'=>'#'),
                  ),
              ),
(..)
Run Code Online (Sandbox Code Playgroud)

那么,我的第一个问题是:

在下面'brand'=>'XPTO',是否可以输入图像的路径?例如徽标?我知道我可以尝试进入图像路径但是图像并排在一起吗?(这会避免我创建和包含2的图像).

其次:

我想根据我点击的链接操作并在我的布局中添加页面移动,因此,*我想为每个'li'添加'id'属性,因此最终结果如下:

<li class="active" id="xyz"><a href="#"> Link Text </a></li>

我试过了

array('label'=>'2nd Link', 'url'=>'#', 'id'=>'xyz'),

array('label'=>'2nd Link', 'url'=>'#', 'htmlOptions'=>array( 'id'=>'xyz'),),

但没有成功.

有小费吗?提前致谢.

php yii twitter-bootstrap

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