Tag: ruby on rails 4

ActionMailer不在发送Rails 4中发送邮件

为什么这封邮件不发送任何邮件? (或debugging任何想法?) 在my_app / config / environments / development.rb我有这样的代码: config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { address: 'smtp.gmail.com', port: 587, domain: 'my_app.com', user_name: ENV['GMAIL_USERNAME'], password: ENV['GMAIL_PASSWORD'], authentication: 'plain', enable_starttls_auto: true } 然后在我的本地计算机〜/ .bash_profile我有这样的代码: export GMAIL_USERNAME='blah@my_app.com' export GMAIL_PASSWORD='***' 当我在terminal中运行$ env时,我发现两个环境variables都正确设置。 我也重新启动了我的rails服务器。

Rails在CORS预检选项请求中响应404

我使用Rails 4创build了一组服务,我正在使用JavaScript浏览器应用程序。 交叉原点GETS工作正常,但我的POST失败了预检选项检查404错误。 至less,我想这就是发生了什么事情。 这些错误出现在控制台中。 这是Mac上的Chrome 31.0.1650.63。 OPTIONS http://localhost:3000/confessor_requests 404 (Not Found) jquery-1.10.2.js:8706 OPTIONS http://localhost:3000/confessor_requests No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. jquery-1.10.2.js:8706 XMLHttpRequest cannot load http://localhost:3000/confessor_requests. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. main.html:1 我已经search了高和低的指示启用CORS,我很难过。 通常的build议似乎是把这样的东西放在应用程序控制器,我做了。 […]

Rails 4:如何改变表列的默认值与迁移?

鉴于以下schema.rb : create_table "people", force: true do |t| t.string "name", null: false t.integer "age" t.integer "height" t.string "email" t.boolean "married", default: false t.text "bio" t.integer "fav_number" t.decimal "lucky_num", precision: 2, scale: 2 t.datetime "birthday" t.datetime "created_at" t.datetime "updated_at" end 我想删除null: false的name默认值。 我试过用change_column_default运行一个单独的迁移,但是这对schema.rb没有影响。 有什么build议么?

ArgumentError:ApplicationController的副本已从模块树中删除,但仍处于活动状态

我正在使用Rails 4.0.0.rc2的ActiveAdmin(与定制gemset的Rails 4)。 应用程序还具有基于Railcast #385和#386的定制授权代码。 当我更改ActiveAdmin资源文件中的某些内容并尝试刷新浏览器页面时,在current_permission方法中出现此错误: / admin / courses中的参数错误 ApplicationController的副本已从模块树中删除,但仍处于活动状态! 如果我再次尝试刷新,我会得到: 自动加载常量权限时检测到循环依赖关系 我认为这个问题与在源代码文件中改变之后在开发模式下自动加载类有关。 我已经看到类似的问题post,但他们是为rails 2.3.x. 此外,解决scheme似乎是指定在控制器抛出此错误,可unloadable ,但我不知道在这个片段放在ActiveAdmin的位置。 这可能与ActiveAdmin没有任何关系。 这可能是关于如何构buildPermissions类以及它在Application Controller中的用法。 如果我在ActiveAdmin资源类中添加skip_before_filter :authorize ,则此错误消失。 ApplicationController中: class ApplicationController < ActionController::Base # Prevent CSRF attacks by raising an exception. # For APIs, you may want to use :null_session instead. protect_from_forgery with: :exception before_filter :authenticate_user! before_filter :authorize delegate […]

fe_sendauth:没有提供密码

database.yml的: # SQLite version 3.x # gem install sqlite3 # # Ensure the SQLite 3 gem is defined in your Gemfile # gem 'sqlite3' development: adapter: postgresql encoding: utf8 database: sampleapp_dev #can be anything unique #host: localhost #username: 7stud #password: #adapter: sqlite3 #database: db/development.sqlite3 pool: 5 timeout: 5000 # Warning: The database defined as "test" […]

禁止的属性在Rails 4遇到一种情况,在早期版本的Rails中会使用attr_accessible的情况下出现错误

随着最近升级到Rails 4,使用类似下面的代码更新属性不起作用,我得到一个ActiveModel::ForbiddenAttributes错误: @user.update_attributes(params[:user], :as => :admin) 用户在模型中具有以下attr_accessible行: attr_accessible :role_ids, :as =>admin # or any attribute other than :role_ids contained within :user 你如何在Rails 4中完成相同的任务?

为什么要求运行'rake db:migrate RAILS_ENV = test'?

在Rails 4.0.0.rc1,Ruby 2.0.0中,运行迁移之后,当我尝试通过rspec运行testing时,发现以下错误: /Users/peeja/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activerecord-4.0.0.rc1/lib/active_record/migration.rb:376:in`check_pending! ':迁移正在进行中; 运行'rake db:migrate RAILS_ENV = test'来解决这个问题。 (ActiveRecord的:: PendingMigrationError) 这看起来不正确。 没有人迁移他们的testing数据库,是吗? 他们db:test:prepare ,这是公平的 – 我忘记了。 所以我运行rake db:test:prepare并再次运行我的rspec命令…并查看相同的错误。 如果我真的rake db:migrate RAILS_ENV=test ,错误事实上消失了。 这是怎么回事? 这是新的Rails 4?

使用Rails 4和bootstrap-sass gem无法在Heroku上运行CSS

我已经部署了一个应用程序Heroku有一个问题,我似乎无法弄清楚。 通过Bootstrap-sass的应用程序的CSS不加载,因此我有一个非风格的应用程序。 目前这只是一个静态页面的集合。 我已经在README https://github.com/thomas-mcdonald/bootstrap-sass中一步步走了一步,我无法弄清楚,很可能成为我的问题的步骤如下。 由于Rails中的变化导致无法在vendor和lib中编译图像,因此需要将以下行添加到application.rb中: config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif) 由于我对编程还很陌生,第一个问题是我不知道如何在application.rb文件中添加它。 我将不胜感激,如果有人可以帮助告诉我如何以及在哪里正确添加上面的代码行。 第二个问题可能与我正在使用的gem有关,但是当我创build应用程序时,sass-rails gem被安装了〜> 4.0.0.beta1。 根据自述文件使用的版本是3.2。 由于这也可能是一个问题,我已经包括了gem文件incase任何人确定这是我的问题的根本原因。 预先感谢您提供的任何帮助。 编辑:要添加我在第一次尝试导致样式在我的本地主机上正常工作的步骤,但是没有将代码部署到heroku。 创build了一个新的rails 4应用程序(下面的gem文件) 添加了下面gem文件中列出的bootstrap-sass gem 将PG gem添加到生产组中的gem文件中,并将SQLite3移至开发和testing(运行捆绑安装 – 不执行步骤2和3) 为静态主页创build了一个页面控制器 在主页上的英雄单位添加一个h1,只是为了看看风格是否工作 添加一个styles.css.scss文件,并包含@import'bootstrap'; 到样式表 创buildgit仓库,运行我的初始提交,并将代码推到混帐 创buildheroku应用程序,并推动大师heroku 在第二次尝试时,我在主页上添加了一个导航栏(如果这对任何人都有所帮助),并再次执行步骤7和8,但是在执行这些步骤之前,我运行了以下代码行。 RAILS_ENV=production bundle exec rake assets:precompile 我仍然结束了一个网站,在我的本地主机上有适当的风格,但没有风格在Heroku上工作。 正如我上面在我原来的文章中提到的那样,有一行代码需要添加到application.rb文件中,由于我不了解如何正确地将代码行添加到文件中,所以我没有遵循。 的Gemfile: source 'https://rubygems.org' ruby "2.0.0" # Bundle edge Rails instead: gem 'rails', […]

在Rails link_to中使用turbolinks

只是想知道是否有一种方法可以直接在rails link_to助手中使用turbolinks,但是一些Google的search没有发现任何值得注意的事情,这里是我尝试过的一些无用的东西。 <%= link_to 'Giraffe', giraffe_path(@giraffe), :data-no-turbolink => 'true' %> <%= link_to 'Giraffe', giraffe_path(@giraffe), :data { :no-turbolink => 'true'} %> 我知道你可以像这样的常规链接 <a data-no-turbolink='true' href="/giraffe-130">Giraffe</a> 现在,我只包含链接元素(如lis或div)上的属性。 提前致谢。

在Rails中使用logging器4

我正在开发一个Rails 4项目,当我调用Rails.logger.debug "test"时,我似乎无法在我的开发日志中显示任何东西。我尝试过在线search,但是我觉得我没有取得了很大进展。 我将如何去build立一个logging器,并告诉它写在我的开发日志文件? 任何帮助将不胜感激。