Tag: ruby on rail

耙子因错误而中止

尝试在生产服务器上设置exception_logger插件。 开发机器上的一切都运行良好。 试图在prod服务器上rake db:migrate,我收到此错误: rake aborted! no such file to load — pagination 我错过了什么?

在rails应用程序中使用OmniAuth时,为什么我总是遇到Errno :: ETIMEDOUT

我有一个rails虚拟应用程序,我已经将OmniAuth添加到我的Gemfile中。 我补充说 在我的应用程序布局文件中 我还在config \ initializers文件夹中添加了omniauth.rb文件。 Rails.application.config.middleware.use OmniAuth::Builder do provider :twitter, ‘MYKEY’, ‘MYSECERT’ end 用rails s重新启动rails服务器后,访问http:// localhost:3000 / auth / twitter 我总是遇到Errno::ETIMEDOUT ,说Operation timed out – connect(2) 我的电脑可以同时访问Twitter网站。 任何人都可以帮我解决这里出了什么问题吗? 非常感谢你。

Rails:路由和路径助手

可能重复: Rails:没有复数的路由给出了奇怪的帮助 结果我有:资源qtl_table在config / routes.rb两次! 我收到此错误: undefined local variable or method `search_qtl_table_index’ for #<#:0x805af47b0> 在app / views / qtl_table / index.html.erb中: Search for QTL ‘get’ do %> nil %> 在config / routes.rb中: Qtl::Application.routes.draw do resources :qtl_table do collection do get ‘search’ end end … end 我确实关闭了复数: ActiveRecord::Base.pluralize_table_names = false 耙路线的输出: search_qtl_table_index GET /qtl_table/search(.:format) {:action=>”search”, :controller=>”qtl_table”} […]

Rails没有更新属性

在我看来,相当标准的更新,但在提交put请求时,属性不会更新。 这是我的相关模型: class Vendor lambda{ |obj| obj.address_changed? } end 我的控制器方法: def edit @vendor = Vendor.find(params[:id]) end def update @vendor = Vendor.find(params[:id]) if @vendor.update_attributes(vendor_params) redirect_to vendors_mgmt_path else render ‘edit’ end end def vendor_params params.permit(:id, :name, :address, :image, :latitude, :longituded ) end 尝试更新后,我在服务器日志中看到了这一点: Started PUT “/vendors/1” for 127.0.0.1 at 2013-10-20 20:44:54 -0700 Processing by VendorsController#update as HTML […]

用户未登录rails时如何获得root视图?

我正在构建一个rails应用程序,我使用Devise进行身份validation。 当用户访问www.mydomain.com而不是www.mydomain.com/users/sign_in ,我想展示产品第一页,这是设计默认值! 我还想在用户登录时显示不同的根视图。这感觉就像一个非常常见的用例,是否有一种简单的方法可以做到这一点? 这是文档中还是有人可以帮助我吗?

销毁前和相关记录销毁前的回调

我有以下型号: class PhoneNumber :destroy has_many :people, :through => :personal_phone_numbers end 我想设置一个观察者来在delayed_job队列中运行一个动作,该队列大部分都有效,但有一个例外。 我希望before_destroy观察者在被销毁之前抓住与电话号码相关联的人,并且那些人认为延迟的工作确实有效。 问题是,当电话号码被破坏时,它会先破坏:personal_phone_numbers记录, 然后在尝试销毁电话号码时触发观察者。 那时,为时已晚。 有没有办法在删除依赖记录之前观察破坏行为?

Rake任务适用于开发,但不适用于生产

我有一个rake任务,每隔几个小时就会改变主页上的数据。 我已经测试了它,它在开发中运行良好。 但它在生产中不起作用。 我需要做些什么来获得我想要看到的更改? 我应该添加重启服务器的命令吗? 这会让服务器承认更改吗? 有更聪明的方法吗? rake任务如下。 它将由heroku的调度程序添加运行,因此它当前位于lib / tasks / scheduler.rake文件中。 desc ‘changes the meta tags’ task :mixup_meta_tags => :environment do regex = /@meta_tag/ file = File.open(‘app/controllers/site_controller.rb’, ‘r’) lines = [] file.each_line do |line| (line =~ regex) ? (lines << replace_line(line)) : (lines << line) end file.close file = File.open('app/controllers/site_controller.rb', 'w') lines.each{|line| file.write […]

Rails添加Twilio子帐户:未初始化的常量User :: Twilio

*********更新:我刚尝试重新启动Rails服务器,它似乎已经工作了! 我根据Michael Hartl关于Rails的教程构建了一个基本的身份validation系统,现在我想做的是在用户注册时使用Twilio的API创建一个Twilio子帐户。 https://www.twilio.com/docs/api/rest/subaccounts 我对如何创建它的想法是在用户模型中使用before_save,并让twilio为子帐户创建Auth Token和Account Sid。 问题是,当我点击提交时,我得到 – NameError in UsersController#create uninitialized constant User::Twilio Rails.root: C:/Sites/dentist Application Trace | Framework Trace | Full Trace app/models/user.rb:45:in `create_twilio_subaccount’ app/controllers/users_controller.rb:13:in `create’ 这是我当前的用户模型: #Twilio authentication credentials ACCOUNT_SID = ‘####removed for stackoverflow#####’ ACCOUNT_TOKEN = ‘####removed for stackoverflow#####’ # == Schema Information # # Table name: users # # id […]

第一次尝试时设计validation失败,之后成功

我正在使用Devise(2.1.2)和Rails(3.2.9),我已启用基本身份validation(用于测试)。 我正在使用CURL发布一个JSON POST请求,我看到了奇怪的行为。 第一次发送请求时(服务器重启后)认证失败,但第二次发送完全相同的请求后成功。 在调试时,似乎wins_strategies在第一次尝试时为零,但在第二次尝试时填充了三种策略。 这种行为的原因是什么?

Rails删除链接嵌套路由

我正在写一个简单的待办事项应用程序,项目和项目有很多任务。 我希望能够删除项目中的任务。 但是当我尝试link_to一个删除方法时,我得到了未定义的方法’task_path’。 查看代码 :delete %> 任务控制器 def destroy @project = Project.find(params[:project_id]) @task = @project.tasks.find(params[:id]) @task.destroy redirect_to @project, :notice => “Task Deleted” end 的routes.rb resources :projects do resources :tasks end 更新:所以我删除了工作。 但是现在我正在迭代每个任务,有一个额外的删除链接,它路由到http://todoapp.dev/projects/9/tasks并给出无路由匹配[DELETE]“/ projects / 9 / tasks”为什么是那里有额外的删除链接? :delete %>