小编Bri*_*ich的帖子

从Rails 4.1中的select中保存枚举

我正在使用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将颜色解释为整数而不是字符串?

ruby enums ruby-on-rails ruby-on-rails-4

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


如何使用ruby中的sort_by按字母顺序对数组进行排序?

我有一系列的会员资格.每个会员都是一个团体.我需要按照组的名称对这个成员数组进行排序.我尝试了很多不同的方法,最新的方法是:

@memberships.sort_by! { |m| m.group.name }
Run Code Online (Sandbox Code Playgroud)

但是,这并没有按名称排序.它似乎是随机排序数组.

  • 成员资格belongs_to:group
  • 集团has_many:会员资格

@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对数组进行排序,所以它可能与按字母顺序排序有关吗?

任何帮助将非常感激.

ruby arrays sorting ruby-on-rails enumerable

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

Ruby可以轻松搜索散列数组中的键值对

假设我有这个哈希数组:

[
{"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中执行此操作?

ruby arrays

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

找不到Pod CoreData + MagicalRecord.h文件

我最近不得不从我的计算机中删除一个xcode项目并重新克隆它.克隆后,我运行了一个pod install然后去构建项目.但是,我一直在我的.pch文件中遇到错误,该文件声称找不到文件(pod文件).

我查看了以下SO帖子:

iOS - 构建失败,CocoaPods无法找到头文件

导入MagicalRecord时单元测试构建失败

从那里,我得知我需要添加到搜索头路径$(inherited)标志.我已经完成了,我已经清理了项目,然后重新构建它,仍然有以下错误..

PCH文件

objective-c ios cocoapods

21
推荐指数
2
解决办法
7758
查看次数

如何通过Rails API接受JSON而不使用嵌套字段的"_attributes"

我用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对象的一部分.

谁知道如何管理这个?

json ruby-on-rails

20
推荐指数
2
解决办法
3892
查看次数

Sequel Pro/MAMP在哪里存储本地数据库?

我通过Sequel Pro和MAMP在我的计算机上创建了一些数据库,并运行localhost来查看它们.但是,我重新安装了Mac OS Lion,我忘了将数据库备份到.sql文件.

我会定期备份我的文件,并预先安装计算机的副本.有谁知道db文件的路径?它们是以我可以重建的格式存储的,所以我可以导入Sequel Pro吗?

mysql sql database macos mamp

18
推荐指数
2
解决办法
4万
查看次数

获取XML文件POST请求以使用Ruby on Rails进行解析

我有一个客户端正在为我的网站发送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)

欣赏任何见解!

ruby xml post ruby-on-rails nokogiri

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

在Rails控制台启动时运行命令

有没有办法在rails控制台启动时运行特定命令?我希望打印出我是否以大写字母连接到远程或本地数据库!我不介意编写自定义方法来确定 - 我只是问如何写入控制台.我以前见过错误和警报.

例如:rails c打印出来Loading development environment (Rails 3.2.11) **USING REMOTE DATABASE** 1.9.3p125 :001 >

ruby ruby-on-rails

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

iOS设备可以向Rails应用程序发送PUT请求吗?

我们已经多次尝试向我们的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)

ruby-on-rails put objective-c nsurlconnection ios

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