标签: ruby-on-rails-2

为什么 Rails.cache 不是线程安全的?

我知道Rails.cache是的ActiveSupport::Cache::MemoryStore,而且它不是线程安全的。

我不明白,为什么 Rails 使用线程不安全的缓存作为默认值?为什么不使用ActiveSupport::Cache::SynchronizedMemoryStore?在我看来,在一个网站中,如果缓存不是线程安全的,它几乎毫无用处,因为请求不是在一个线程中处理的。

你在你的网络应用程序中使用吗Rails.cache?你如何使用它?

caching ruby-on-rails ruby-on-rails-2

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

将.csv文件保存到数据库无法识别to_hash方法

根据此示例,以下方法:

require "csv"

def import_vault_data(filename)    
    fn = "#{RAILS_ROOT}/public/data/#{filename}"
    CSV.foreach(fn, :headers => true) do |row|
        House.create!(row.to_hash)    
    end
end
Run Code Online (Sandbox Code Playgroud)

正在产生这个错误:

undefined method `to_hash' for #<Array:0x104cc07b8>
Run Code Online (Sandbox Code Playgroud)

什么缺失的任何线索?

我正在使用rails 2.3.9

ruby csv ruby-on-rails ruby-on-rails-2

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

在rails中生成谷歌地图的pdf

我正在尝试生成谷歌地图的pdf,这是由gm4r插件使用wicked_pdf生成的,遗憾的是地图不是在pdf中生成的.在这个rails v = 2.3.5上需要一些帮助

ruby-on-rails-2

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

如何更改此超级调用以显式传递参数?

Rails 2.3我正在新虚拟机上运行旧版(是的,我知道)应用程序。它正在运行Ruby v2.3.1。我已经进行了所有建议的更改,以使这个旧应用程序在此版本上运行。除了这段代码之外,一切都运行得很好,而且速度更快。这段代码来自旧书Advanced Recipes for Railserror_handling_form_builder.rb

首先,这是表单声明:

<% form_for(:review, :builder => ErrorHandlingFormBuilder) do |f| %>
    <%= f.collection_select :system_id, @systems, :id, :name, { :include_blank => "Select a Standard"}, { :onchange => remote_function(:url => { :action => :makes }, :submit => :text, :method => 'post') } %>
    <div id="categoriesdiv">
    </div>
<% end %>
Run Code Online (Sandbox Code Playgroud)

如果我删除构建器参数,此代码可以正常工作。这是来自的代码ErrorHandlingFormBuilder

helpers = field_helpers +
          %w(date_select datetime_select calendar_date_select time_select collection_select) +
          %w(collection_select select country_select time_zone_select) -
          %w(label fields_for)

helpers.each do …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-2 ruby-2.3

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

如何让ruby控制台识别控制器和模型中的代码更改

我正在为我的ruby模型添加新功能,并在我去的时候通过ruby控制台进行测试.我发现每次更改模型中的任何内容时都必须重新启动控制台非常烦人.有没有办法让ruby控制台不缓存或让它检查更新的代码而不重新启动它?

例如,我正在模型中创建一个新方法,在我进行更改后,我必须重新启动控制台并运行一些命令来重新加载所有内容.见下文:

script/console
require 'some_gem'
r = Region.find_by_name("some_region")
r.some_method
Run Code Online (Sandbox Code Playgroud)

如果我从区域模型更改high_x方法中的一行,我必须重复所有步骤才能看到我的更改.

ruby ruby-on-rails ruby-on-rails-2

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

为什么这个named_scope会创建一个NoMethodError?

我没有看到此代码在哪里创建此NoMethodFound错误,并且非常想要任何有用的建议.

这是错误消息:

NoMethodError in UploadsController#create
Run Code Online (Sandbox Code Playgroud)

我的模型的相关部分如下所示:

  named_scope :by_name, lambda { |marker_name| 
    {:conditions => ["marker_name = ?", marker_name]}}

  def self.parse_file(file)
    FasterCSV.foreach(file.path,:headers=>"first_row", :col_sep=>"\t") do |row|

    if $header_row == 1
       $markers = {}         # define global hash for marker id lookup
        $markers_arry = []    # define global array for marker names
        get_markers(row)
        $header_row = 0
        # done with header row; loop back to beginning for first row of actual data
        next
      end
...
 def self.get_markers(row)
    offset = 8    # this was determine by …
Run Code Online (Sandbox Code Playgroud)

named-scope ruby-on-rails ruby-1.8 ruby-on-rails-2

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

如何启动Rails 2应用程序(Ruby 1.8.3,Rails 2.3.8)

我有一个文件intello erp,ruby版本是1.8.3和rails 2.3.8当我说rails为什么它没有启动服务器?它显示在下面给我.帮我

exists  
          exists  app/controllers
          exists  app/helpers
          exists  app/models
          exists  app/views/layouts
          exists  config/environments
          exists  config/initializers
          exists  config/locales
          exists  db
          exists  doc
          exists  lib
          exists  lib/tasks
          exists  log
          exists  public/images
          exists  public/javascripts
          exists  public/stylesheets
          exists  script/performance
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-2

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

Ruby查询需要更新

关系:

帐户has_many用户

用户has_one sima

primary_partner_id是"account_id",它以params的形式传递.

User.where(primary_partner_id: 2).map{|a| a.sima}.reject{ |e| e.to_s.empty?}
Run Code Online (Sandbox Code Playgroud)

结果如下:

 [
    #<Sima id: 93, user_id: 7, interviewer_account_user_id: 1945, interviewer_completion_date: "2017-06-09", transcriber_account_user_id: nil, transcriber_completion_date: nil, biographer_account_user_id: nil, biographer_completion_date: nil, reviewer_account_user_id: nil, reviewer_completion_date: nil, status: "accepted", autobiographical_form: "27381", autobiographical_form_completion_date: nil, sima_level_id: "1", created_at: "2017-06-06 20:17:57", updated_at: "2017-06-09 10:04:33", autobiographical_form_comments: nil, on_hold: nil, comments: [{:comment=>"easylims.xlsx", :user_name=>"Mike Burns", :created_at=>2017-06-06 20:17:57 UTC}, {:comment=>"ok", :user_name=>"SIMA Admin", :created_at=>2017-06-06 20:19:33 UTC}], interviewer_id: nil, interviewer_start_date: nil, transcriber_start_date: nil, biographer_start_date: nil, reviewer_start_date: nil>, 
    #<Sima id: 92, user_id: 1, interviewer_account_user_id: …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails-2

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

Ruby Ternary如果Bug

我正在试图做的是打印Pending Quotes如果计数0>1Pending Quote如果算上==1但如果countIS >1,输出的是2 true,在另外两起案件做工精细,虽然我什么都看不到明显的.

<%= @pending.nil? ? '0' : @pending.count %>
<%= (!@pending.nil? and @pending.count > 1) or (!@pending.nil? and @pending.count == 0) ? 'Pending Quotes' : 'Pending Quote' %>
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-2

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