小编den*_*icz的帖子

用Ruby计算字数

我试图找出一种方法来计算包含html的特定字符串中的单词.

示例字符串:

<p>Hello World</p>
Run Code Online (Sandbox Code Playgroud)

Ruby中有没有办法计算p标签之间的单词?或者这个问题的任何标签?

例子:

<p>Hello World</p>
<h2>Hello World</h2>
<li>Hello World</li>
Run Code Online (Sandbox Code Playgroud)

提前致谢!

编辑(这是我的工作代码)

控制器:

class DashboardController < ApplicationController
  def index
    @pages = Page.find(:all)
    @word_count = []
  end

end
Run Code Online (Sandbox Code Playgroud)

视图:

<% @pages.each do |page| %>

        <%  page.current_state.elements.each do |el| %>
            <% @count = Hpricot(el.description).inner_text.split.uniq.size  %>
            <% @word_count << @count %>
        <% end %>

            <li><strong>Page Name: <%= page.slug %> (Word Count: <%= @word_count.inject(0){|sum,n| sum+n } %>)</strong></li>

<% end %>
Run Code Online (Sandbox Code Playgroud)

ruby html-parsing

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

在Rails 3中渲染YAML

无论如何回应.yml文件扩展名?

我试过了,但无法让它发挥作用.

respond_to do |format|
      format.xml # index.xml.builder
      format.yml {render :text => @labels.to_yaml, :content_type => 'text/yaml'}
    end
Run Code Online (Sandbox Code Playgroud)

上面的代码吐出以下错误 uninitialized constant Mime::YML

ruby-on-rails-3

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

捆绑exec rake测试什么也没做

我试图用TDD让我的头"脏",出于某种原因,当我bundle exec rake test在命令行上运行时,没有任何反应.

这是我的RakeFile:

require 'rake/testtask'

Rake::TestTask.new do |test|
  test.libs << 'test'
end

desc "Run Tests"
task :default => :test
Run Code Online (Sandbox Code Playgroud)

这是我的测试文件:

require 'test/unit'

class TestMygem < Test::Unit::TestCase
  def test_silly_example
    assert_equal 2+2, 5
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby tdd bundler rake-task

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

Rails未定义方法'model_name'

我有以下型号:

class Contact
  attr_accessor :name, :emails, :message

  def initialize(attrs = {})
    attrs.each do |k, v|
      self.send "#{k}=", v
    end
  end

  def persisted?
    false
  end
end
Run Code Online (Sandbox Code Playgroud)

我在我的视图中呼吁联系表格如下:

<div class="email_form">
   <%= render 'form' %>
</div>
Run Code Online (Sandbox Code Playgroud)

这是控制器:

class ShareController < ApplicationController
  layout "marketing_2013"
  respond_to :html, :js

  def index
    @contact = Contact.new
  end
end
Run Code Online (Sandbox Code Playgroud)

这是表格:

<%= form_for(@contact) do |f| %>
    <%= f.label :name, "Your Name" %>
    <%= f.text_field :name %>
    <%= f.label :text, "Send to (separate emails with a comma)" %>
    <%= f.text_field :emails …
Run Code Online (Sandbox Code Playgroud)

activemodel ruby-on-rails-3

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

Rails:form_for和单选按钮

我有以下内容 form_for

<div class="multiple_students">
        <%= f.label :multiple_classes, "Do you teach multiple classes?" %>
        <%= f.radio_button :multiple_classes, 1, checked: @user.multiple_classes?, class: 'multiple_classes', data: { question: 'What is your average class size?' } %> <%= f.label :multiple_classes, "Yes", class: 'multiple_classes' %>
        <%= f.radio_button :multiple_classes, 0, checked: @user.multiple_classes?, class: 'multiple_classes', data: { question: 'How many kids do you teach?' } %> <%= f.label :multiple_classes, "No", class: 'multiple_classes' %>
    </div>
    <div class="number_of_students hide">
        <%= f.label :students %>
        <%= f.text_field :students, :class=>"student_count required digits" %> …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails form-for

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

Rails has_one与连接表

在我的应用程序中有Athletes...运动员可以有很多运动.

运动员:

has_many :sports, :through => :user_sports
has_one :primary_sport, conditions: ["user_sports.primary = ?", true], class_name: "Sport"
has_many :user_sports
Run Code Online (Sandbox Code Playgroud)

UserSport:

class UserSport < ActiveRecord::Base
  attr_accessible :athlete_id, :sport_id, :primary

  belongs_to :athlete
  belongs_to :sport
end
Run Code Online (Sandbox Code Playgroud)

我试图能够拉回primary_sport作为Sport对象而不是user_sport对象.

has-one ruby-on-rails-3

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

OAuth提供商服务和Rails 3

我正在尝试使用Rails 3设置OAuth提供程序服务器,但似乎无法找到任何可以实现此目的的内容.

当涉及到oauth时,我也是一个新手,所以请原谅我的无知.

在设置oauth服务器时,我是否需要在agree2.com这样的地方拥有oauth帐户?或者我可以使用自己的服务器吗?

ruby ruby-on-rails oauth oauth-ruby ruby-on-rails-3

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

Ruby ActiveRecord 最大值

我正在使用一个 Rails 应用程序,我需要返回特定行的最大值,但还需要返回行的其余内容。

代码:

medias = Media.maximum(:id, :conditions => ['medias.image = true AND medias.subscriber_id  = 37'], :group => ['subscriber_id'])
Run Code Online (Sandbox Code Playgroud)

这仅返回 id 和subscriber_id,我需要返回所有行而不仅仅是这两个行。

示例:在我的媒体表中,订阅者可以上传多张照片。我正在尝试按订阅者 ID 分组并获取所有订阅者的最后一个条目。所以基本上我需要一个最大的查找。

ruby activerecord ruby-on-rails

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

不使用Rails中的Grape API gem来理解嵌套资源

这是我的API的样子:

module ServiceRequests
  class API < Grape::API
    version 'v1', using: :path
    format :json

    namespace :companies do
      params do
        requires :company_id, type: Integer, desc: "A Company Id"
      end

      resource :service_requests do
        get :all do
          Company.find(params[:company_id]).service_requests
        end
      end
    end

  end
end
Run Code Online (Sandbox Code Playgroud)

我试图像这样打电话:http://localhost/v1/companies/:company_id/service_requests/all但是当我打这个电话时,我收到了错误No route matches [GET] "/v1/companies/1/service_requests/all"

工作守则:

module ServiceRequests
  class API < Grape::API
    version 'v1', using: :path
    format :json

    resource :companies do

      params do
        requires :company_id, type: Integer, desc: "A Company Id"
      end

      route_param :company_id do
        resource :service_requests do …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-grape grape-api

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

不确定如何使用嵌套属性构造ElasticSearch Range查询

我在ES中的对象如下所示:

{
  "_index": "myIndex",
  "_type": "myType",
  "_id": "75fd98d2-eca7-4a94-9dd8-1cc2c9b1fbbf",
  "_version": 2,
  "found": true,
  "_source": {
    "account_id": "100",
    "import_ids": [
      "4f4eef42-5493-464e-ac08-68a3a25a01fb"
    ],
    "accept": "html",
    "deleted_at": null,
    "signup_form_ids": [
      {
        "timestamp": "2015-11-23T20:08:11.604000",
        "signup_form_id": "1234"
      }
    ],
    "mailing_status": "active",
    "group_ids": [
      "0eddd2c0-ce70-4eb7-bcd8-9e41e41ac0b3"
    ],
    "confirmed_opt_in_at": null,
    "fields": [
      {
        "text_value": "My Company",
        "name": "company"
      },
      {
        "text_value": "Foo",
        "name": "first-name"
      },
      {
        "text_value": "Bar",
        "name": "last_name"
      },
      {
        "text_value": "555-555-5555",
        "name": "phone"
      }
    ],
    "created_at": "2015-11-23T19:20:15.889000",
    "last_modified_at": "2015-11-23T20:08:11.604000",
    "bounce_count": 0,
    "opted_out_at": null,
    "archived_at": null,
    "email": …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

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