我正在使用Rails 4.1中的枚举来跟踪葡萄酒的颜色.
Wine.rb
class Wine < ActiveRecord::Base
enum color: [:red, :white, :sparkling]
end
Run Code Online (Sandbox Code Playgroud)
在我看来,我生成一个选择,以便用户可以选择具有特定颜色的葡萄酒
f.input :color, :as => :select, :collection => Wine.colors
Run Code Online (Sandbox Code Playgroud)
这会生成以下HTML:
<select id="wine_color" name="wine[color]">
<option value=""></option>
<option value="0">red</option>
<option value="1">white</option>
<option value="2">sparkling</option>
</select>
Run Code Online (Sandbox Code Playgroud)
但是,在提交表单时,我收到一个参数错误说明'1' is not a valid color
.我意识到这是因为color
必须平等1
而不是"1"
.
有没有办法强制Rails将颜色解释为整数而不是字符串?
您是否可以在技术上使用Swift作为构建网站/ Web应用程序的编程语言?
更新:看起来很多人正在研究这个问题.
Apple的官方支持:https://swift.org/server-apis/
我有一系列的会员资格.每个会员都是一个团体.我需要按照组的名称对这个成员数组进行排序.我尝试了很多不同的方法,最新的方法是:
@memberships.sort_by! { |m| m.group.name }
Run Code Online (Sandbox Code Playgroud)
但是,这并没有按名称排序.它似乎是随机排序数组.
@memberships等于:
[
{
id: 2141,
user_id: 491,
group_id: 271,
member_type: "member",
group: {
id: 271,
name: "Derek's",
privacy: "open",
bio_image_url: "/bio_images/medium/missing.png?1340285189",
member_count: 1,
upcoming_checkins_count: 0
}
},
{
id: 2201,
user_id: 221,
group_id: 291,
member_type: "member",
group: {
id: 291,
name: "Rounded Developement",
privacy: "closed",
bio_image_url: "/groups/medium/291/bioimage.jpg?1340736175",
member_count: 7,
upcoming_checkins_count: 0
}
}
]
Run Code Online (Sandbox Code Playgroud)
注意:这确实有效 - > @ memberships.sort_by!{| m | m.group.id}
它将基于group.id对数组进行排序,所以它可能与按字母顺序排序有关吗?
任何帮助将非常感激.
假设我有这个哈希数组:
[
{"href"=>"https://company.campfirenow.com", "name"=>"Company", "id"=>123456789, "product"=>"campfire"},
{"href"=>"https://basecamp.com/123456789/api/v1", "name"=>"Company", "id"=>123456789, "product"=>"bcx"},
{"href"=>"https://company.highrisehq.com", "name"=>"Company", "id"=>123456789, "product"=>"highrise"}
]
Run Code Online (Sandbox Code Playgroud)
如何解析哈希的" href "值,其中"product"=>"bcx"
有没有简单的方法在Ruby中执行此操作?
我最近不得不从我的计算机中删除一个xcode项目并重新克隆它.克隆后,我运行了一个pod install
然后去构建项目.但是,我一直在我的.pch文件中遇到错误,该文件声称找不到文件(pod文件).
我查看了以下SO帖子:
从那里,我得知我需要添加到搜索头路径的$(inherited)
标志.我已经完成了,我已经清理了项目,然后重新构建它,仍然有以下错误..
我用Rails编写了一个API,需要在API调用中接受一些nested_attributes.
目前我通过发送数据
PATCH /api/v1/vintages/1.json
{
"vintage": {
"year": 2014,
"name": "Some name",
"foo": "bar",
"sizes_attributes": [
{
"name": "large",
"quantity": "12"
},
{
"name": "medium",
"quantity": "2"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我想执行以下操作:
PATCH /api/v1/vintages/1.json
{
"vintage": {
"year": 2014,
"name": "Some name",
"foo": "bar",
"sizes": [
{
"name": "large",
"quantity": "12"
},
{
"name": "medium",
"quantity": "2"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
区别在于属性是字段键的一部分.我希望能够accept_nested_attributes_for :sizes
不必使用_attributes
成为JSON对象的一部分.
谁知道如何管理这个?
我通过Sequel Pro和MAMP在我的计算机上创建了一些数据库,并运行localhost来查看它们.但是,我重新安装了Mac OS Lion,我忘了将数据库备份到.sql文件.
我会定期备份我的文件,并预先安装计算机的副本.有谁知道db文件的路径?它们是以我可以重建的格式存储的,所以我可以导入Sequel Pro吗?
我有一个客户端正在为我的网站发送XML进行解析.我通常是一个PHP人,并且懂得如何通过PHP解析它,但我不知道如何用Ruby做同样的事情.客户说他们要将他们的XML文件发布到我的服务器(即下面的代码)
curl -X POST -H "Content-Type: text/xml" -d "@/path/to/file.xml" my-web-address.com/parser
Run Code Online (Sandbox Code Playgroud)
然后解析器处理程序页面需要能够检测到文件已发送给它,并解析它.这是否意味着Ruby只是查找任何POST请求?我怎么称呼POST内容(XML文件)变成一个变量来搞乱它?
我正在使用Nokogiri来解析XML.
doc = Nokogiri::XML(xml)
Run Code Online (Sandbox Code Playgroud)
欣赏任何见解!
有没有办法在rails控制台启动时运行特定命令?我希望打印出我是否以大写字母连接到远程或本地数据库!我不介意编写自定义方法来确定 - 我只是问如何写入控制台.我以前见过错误和警报.
例如:rails c
打印出来Loading development environment (Rails 3.2.11)
**USING REMOTE DATABASE** 1.9.3p125 :001 >
我们已经多次尝试向我们的Rails服务器发送更新PUT请求,并且我们继续收到404"您正在寻找的页面不存在"
我们的更新方法非常简单(实际上是通用的rails).
def update
@user = User.find(params[:id])
respond_to do |format|
if @user.update_attributes(params[:user])
format.html { redirect_to @user, notice: 'User was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
Run Code Online (Sandbox Code Playgroud)
结束
当我从命令行运行CURL来测试更新方法时,它工作正常.但是,当我在objective-c中尝试相同的方法时,它总是会导致404错误.
所以我的问题是:iOS设备可以使用NSURLConnection向服务器发送PUT请求还是未实现?
更新::
这不会更新数据库
NSString *dataString = @"user[first_name]=bob";
NSData *postBodyData = [NSData dataWithBytes: [dataString UTF8String] length:[dataString length]];
NSString *urlString = [NSString stringWithFormat:@"example.com/users/1.json"];
NSURL *fullURL = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:fullURL cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:20];
[request …
Run Code Online (Sandbox Code Playgroud)