Tag: ruby on rail

best_in_place gem初始化

轨道3.2.11 的Gemfile: gem ‘jquery-rails’ gem “best_in_place” aplication.js //= require jquery //= require jquery_ujs //= require best_in_place post.js.coffee jQuery -> $(‘.best_in_place’).best_in_place() show.html.erb 查看内联表单,但我得到了jsexception,并没有触发输入,松散焦点等追溯: Uncaught SyntaxError: Unexpected token u jquery.js:525 jQuery.extend.parseJSON jquery.js:525 BestInPlaceEditor.setHtmlAttributes best_in_place.js:265 BestInPlaceEditor.forms.input.activateForm best_in_place.js:309 BestInPlaceEditor.activate best_in_place.js:54 BestInPlaceEditor.clickHandler best_in_place.js:260 jQuery.event.dispatch jquery.js:3046 elemData.handle 在jquery.js的行 if ( window.JSON && window.JSON.parse ) { return window.JSON.parse( data ); 我怎么能解决这个问题? upd问题解决了。 […]

使用Carrierwave上传文件时,没有路由匹配错误

我有一个简单的文件上传表单,用户应该能够从他们的机器中选择一个csv文件,然后将其保存到文件夹中。 我正在尝试使用Carrierwave,我的应用程序是在Ruby on Rails中构建的。 当我尝试保存文件时,出现错误“没有路由匹配[POST]”/ customers / new“。 以下是各种组件。 /new.html.erb {:multipart => true} do |f| %> /models/dataload.rb class Dataload < ActiveRecord::Base attr_accessible :file_name, :request_user, :source mount_uploader :file, CustomerWarrantyUploader end * /上传/ customer_warranty_uploader.rb * class CustomerWarrantyUploader < CarrierWave::Uploader::Base storage :file def store_dir "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end def extension_white_list %w(csv) end * customers_controller.rb(新方法;我没有做任何事情)* def new @customer = Customer.new respond_to […]

form_for in devise它是如何工作的?

rails g devise:views命令生成该视图 Sign up resource_name, :url => registration_path(resource_name)) do |f| %> true %> true %> 我的问题是它是如何工作的“form_for(resource,:as => resource_name,…”

使用restful操作在rails控制器中自定义操作?

我在使用scaffold生成的控制器中创建自己的动作时遇到了一些麻烦。 我理解一切都映射到了宁静的动作,但是我正在构建一个用户控制器,用户可以登录/注销等,但是当我创建动作并在routes.rb中声明它时,当我访问用户/登录时出现此错误 Couldn’t find User with id=login 它尝试使用login作为ID参数,而不是将其用作操作。 的routes.rb match ‘users/login’ => ‘users#login’ 我觉得我在路线上做错了所以如果有人能帮助我那会很棒。 谢谢

如何覆盖“已经发送电子邮件”?

我想用更具指导性的内容替换此错误消息,以帮助用户了解下一步该做什么。 不幸的是,我似乎无法在我的源头找到这个; 它来自何处以及如何修改它?

delayed_job奇怪的例外

尝试使用delayed_job对作业进行排队,如下所示: Delayed::Job.enqueue(BackgroundProcess.new(current_user, object)) 打印出来时,current_user和object不是nil。 奇怪的是,有时刷新页面或再次运行命令有效! 这是exception跟踪: Delayed::Backend::ActiveRecord::Job Columns (44.8ms) SHOW FIELDS FROM `delayed_jobs` TypeError (wrong argument type nil (expected Data)): /Users/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/yaml.rb:391:in `emit’ /Users/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/yaml.rb:391:in `quick_emit’ /Users/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/yaml/rubytypes.rb:86:in `to_yaml’ vendor/plugins/delayed_job/lib/delayed/backend/base.rb:65:in `payload_object=’ activerecord (2.3.9) lib/active_record/base.rb:2918:in `block in assign_attributes’ activerecord (2.3.9) lib/active_record/base.rb:2914:in `each’ activerecord (2.3.9) lib/active_record/base.rb:2914:in `assign_attributes’ activerecord (2.3.9) lib/active_record/base.rb:2787:in `attributes=’ activerecord (2.3.9) lib/active_record/base.rb:2477:in `initialize’ activerecord (2.3.9) lib/active_record/base.rb:725:in `new’ activerecord […]

Rubymine 6更新/刷新rails项目中的可用方法和路径?

这是一个例子。 假设我用resources :foo更新路由resources :foo并且我买了一些新的路径,例如: new_foo_session当我开始在ERB视图中键入路径时,我希望它向我显示/建议自动完成与路径匹配的名称。 所以当我输入: new_foo_我会得到所有匹配的路线。 另外在安装了一个gem之后,设备有像current_user这样的帮助器,我希望RubyMine在我开始输入时建议current_user ,但是我没有得到它。 如何在我的rails项目中更新RubyMine 6中可用的帮助程序,方法,路径等列表以反映建议/完成?

在Mongoid中find_or_create_by是否安全?

我有一个使用Mongoid的find_or_create_by方法的Web应用程序。 poll = Poll.find_or_create_by(fields) 在我们投入生产之前,我正在尝试运行故障情况,并且我发现多个用户可以尝试使用此方法访问此资源。 是否有可能创建同一对象的多个实例? 我该怎么做才能防止这种情况发生?

虽然在佣金路线中有一条路线,但没有路线匹配

我得到奇怪的ActionController::RoutingError: No route matches 。 可以生成路线: > r = Rails.application.routes > r.generate controller: :items, action: :index, user_id:1 => [“/users/1/items”, {}] 它是在rake routes : $ rake routes user_items GET /users/:user_id/items(.:format) items#index POST /users/:user_id/items(.:format) items#create new_user_item GET /users/:user_id/items/new(.:format) items#new edit_user_item GET /users/:user_id/items/:id/edit(.:format) items#edit user_item GET /users/:user_id/items/:id(.:format) items#show PUT /users/:user_id/items/:id(.:format) items#update DELETE /users/:user_id/items/:id(.:format) items#destroy (…) 但我不承认: r.recognize_path “/users/1/items” […]

不知道如何构建任务’db:create’

我正在从sqllite db迁移到mysql2。 我有mysql运行(并更改了database.yml)但由于某种原因我的rake db:create回来了: rake aborted! Don’t know how to build task ‘db:create’ 当我执行:rake -T时,列表中不会显示数据库任务。 我在Rails 3.2.9上 我在这里错过了什么明显的东西?