小编dt1*_*000的帖子

如何以正确的格式写入JSON文件

我在Ruby中创建一个哈希,并希望以正确的格式将其写入JSON文件.

这是我的代码:

tempHash = {
    "key_a" => "val_a",
    "key_b" => "val_b"
}
fJson = File.open("public/temp.json","w")
fJson.write(tempHash)
fJson.close
Run Code Online (Sandbox Code Playgroud)

以下是生成的文件的内容:

key_aval_akey_bval_b
Run Code Online (Sandbox Code Playgroud)

我正在使用Sinatra(不知道是什么版本)和Ruby v 1.8.7.

如何以正确的JSON格式将其写入文件?

ruby json file

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

如何在帖子中获得params属性?

我正在使用带有Ruby 1.8.7的Sinatra.我是网络开发的新手,所以我并不完全理解获取和发布,但我得到了一些工作.接下来我需要知道的是如何在帖子中查询某些属性的params.在我的主文件中,我有这个代码:

get "/plan_design" do
  erb :plan_design
end

post "/plan_design" do
  # do stuff with params
end
Run Code Online (Sandbox Code Playgroud)

在plan_design.erb中,我有:

<% if (hash[paramTitle].kind_of?(String)) %>
  <div> <input class="planDesignAsset" name="<%= paramTitle  %>"  value="<%= hash[paramTitle] %>" ></input> </div> 
<% else %>  
  <div> <input class="planDesignAssetNum" name="<%= paramTitle  %>"   value="<%= hash[paramTitle] %>" ></input> </div> 
<% end %>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我正在为非字符串使用不同的类.在post,我需要问一下params[some_key],你是哪种班级?然后我可以相应地对待每个参数.这有意义吗?

attributes params sinatra

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

语法错误,意外',',期待')'

我在使用1.8.7后安装了Ruby 1.9.2,因为我需要一个功能.我曾经调用过很多这样的方法:

do_something (arg0, arg1)
Run Code Online (Sandbox Code Playgroud)

使用1.9.2,我得到以下错误, syntax error, unexpected ',', expecting ')'修复似乎是:

do_something arg0, arg1
Run Code Online (Sandbox Code Playgroud)

但这可能需要几个小时才能解决所有问题.有没有解决的办法?为什么一开始就是错误?谢谢

ruby syntax-error ruby-1.9

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

如何按名称获取所选元素,然后使用jQuery从下拉列表中获取所选值?

我能够按名称找到我的选择元素,但是我找不到与之关联的选定值.

这是我的代码如下:

<select  name="a[b]" onchange='mySelectHandler("a[b]")'>
     <option value='Choice 1'>Choice 1</option>
     <option value='Choice 2'>Choice 2</option>

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

然后,在我使用的处理程序中:

function mySelectHandler(name){
     var mySelect = $('select[name=' + name)
     // try to get selected value
     // alert ("selected " + mySelect.val())
     console.log("object "+ mySelect.toSource());
  }
Run Code Online (Sandbox Code Playgroud)

我打印到日志的结果是:

object({length:0,prevObject:{0:({}),context:({}),length:1},context:({}),selector:"select [name = a [b]"})

关于如何做到这一点的任何想法?

jquery select

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

ruby 1.9.3不能使用open3(未初始化的常量ConfigureController :: Open3)

该项目在Ruby 1.9.2中运行良好,但我想使用1.9.3.

这条线在1.9.2中运行良好:

    o, e, s = Open3.capture3("echo a; sort >&2", :stdin_data=>"foo\nbar\nbaz\n")
Run Code Online (Sandbox Code Playgroud)

但是在1.9.3中,我得到了

uninitialized constant ConfigureController::Open3

我必须安装模块,还是什么?谢谢!

ruby

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

Rails测试哈希类型

在Sinatra,我可以测试some_object.class.name =="Hash".现在,在提交之后,我必须测试它,加上=="ActiveSupport :: HashWithIndifferentAccess",以使我的代码能够正常工作.为什么会这样,我是否必须更新发生比较的所有地方,或者是否有更简单的方法?谢谢

hash ruby-on-rails

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

XSLT在输出文件中注入不需要的命名空间

我见过类似的问题,但我还不清楚.我不希望"n1"命名空间出现在输出文件中节点的属性中.但我必须在xslt文件中创建"n1"命名空间才能使xpath正常工作.谢谢.

XSLT:

   <xsl:stylesheet version="1.0" 
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:n1="http://www.spicefactory.org/parsley"
        xmlns="http://www.spicefactory.org/parsley"
        >

    <xsl:output method="xml" indent="no"/>

    <xsl:template match="node()|@*">
         <xsl:copy>
           <xsl:apply-templates select="node()|@*"/>
         </xsl:copy>
     </xsl:template>

     <xsl:template match="n1:object[@type='mytype1']">
      <object  type="mytype2">
        <xsl:apply-templates select="node()"/>
      </object>
     </xsl:template>
Run Code Online (Sandbox Code Playgroud)

从OUTPUT XML文件中获取:

<object type="mytype2" xmlns:n1="http://www.spicefactory.org/parsley">
Run Code Online (Sandbox Code Playgroud)

xml xslt xml-namespaces

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

反应 - 预填充形式

我需要预先填充表单,以便用户可以编辑他们之前创建的博客.我正在寻找在React中做到这一点的最佳实践方法.我目前通过props将值传递给组件,然后将state属性设置为等于props属性,但我已经读过这是一个反模式.我理解'事实的来源'.但是有什么更好的方法呢?我现在不想使用redux-form.下面是我的标题组件,下面是我从父母那里调用它的方式.这一切都有效,但有没有更好的方法,以避免将州属性设置为道具属性?

import React, { Component, PropTypes} from 'react';

export default class DocumentTitle extends Component{
  constructor(props) {
      super(props);
      this.state = {inputVal:this.props.publication.document_title}
      this.handleChange = this.handleChange.bind(this)
  }

  handleChange(event) {
    this.setState({inputVal: event.target.value});
  }

  componentWillReceiveProps(nextProps){
    this.setState({inputVal: nextProps.publication.document_title})
  }

  render (){
    return (
      <div >
        <label>Title</label>
        <div>
          <input onChange={this.handleChange} id="doc_title" type="text" value={this.state.inputVal}/>
        </div>
      </div>
    )    
  }
}
Run Code Online (Sandbox Code Playgroud)

来自父母的电话:

 <DocumentTitle publication={this.props.publication} />
Run Code Online (Sandbox Code Playgroud)

forms reactjs

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

寻找sinatra ajax的例子

对不起,如果这已被覆盖.寻找一个使用Sinatra的AJAX示例,专门用于获取部分并将其应用于DOM中的标记,来自javascript按钮处理程序.谢谢

ajax sinatra

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

资源与资源轨道3

有人告诉我,如果我只有一个"东西",比如家(不是多个家),我应该使用资源:家,而不是资源:在routes.rb中.但是当我查看路线时,POST功能似乎想要家园#create.复数为何?我想命名我的控制器home_controller,类是HomeController.我必须将它们命名为复数吗?

resources ruby-on-rails

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