我有一个使用SimpleForm gem的Rails应用程序.当前的SimpleForm 3.0.0.rc版本使用Bootstrap 2.3提供了引人注目的表单样式.但是当我使用Bootstrap 3.0时,我失去了漂亮的表单样式.如何在Bootstrap 3中使用SimpleForm?
ruby-on-rails simple-form twitter-bootstrap twitter-bootstrap-3
目前我正在做Daniel Kehoe的Learn Ruby on Rails教程.其中一项练习是使用Google的Gmail帐户从"联系"页面发送联系表单.
但是,当我发送联系表单而不是在我的邮箱中收到电子邮件时,我收到此错误:
"SMTP-AUTH已请求但缺少用户名"
在我的config/application.yml文件中,我设置了Gmail用户名和密码.
有谁知道可能是什么问题?
谢谢你的帮助,
安东尼
似乎有两个宝石提供RSpec匹配器与Mongoid一起使用.
哪个是更好的选择,为什么?
MONGOID-RSPEC
Evan Sagge的mongoid-rspec gem为Mongoid提供RSpec匹配器.包括关联,选项,验证和字段的匹配器.
http://github.com/evansagge/mongoid-rspec
值得注意的MONGOID
Brian Cardarella的非凡的mongoid宝石为Mongoid提供了RSpec匹配器.它包含仅适用于Mongoid的匹配器,以及来自Remarkable :: ActiveModel的所有验证匹配器.
http://github.com/bcardarella/remarkable_mongoid
我有一个联系人控制器,它有一种方法可以将表单提交的数据连接并保存到我在谷歌驱动器(app/models/contact.rb)上的帐户中的电子表格中:
def update_spreadsheet
connection = GoogleDrive.login(ENV["GMAIL_USERNAME"], ENV["GMAIL_PASSWORD"])
ss = connection.spreadsheet_by_title('Learn-Rails02-Example')
if ss.nil?
ss = connection.create_spreadsheet('Learn-Rails02-Example')
end
Run Code Online (Sandbox Code Playgroud)
该方法调用我用 figaro 设置的环境变量,这些变量保存在 config/environments/development.rb 中,如下所示:
GMAIL_USERNAME: tgolsby@gmail.com
GMAIL_PASSWORD: Paxxword (obviously this is a place holder for my actual password in the .yml file)
Run Code Online (Sandbox Code Playgroud)
当我提交表单时,出现以下错误:
*GoogleDrive::AuthenticationError at /contacts
Authentication failed for tgolsby: Response code 403 for post https://www.google.com/accounts/ClientLogin: Error=BadAuthentication*
Run Code Online (Sandbox Code Playgroud)
它指向联系人模型中的以下行:
*def update_spreadsheet*
**connection = GoogleDrive.login(ENV["GMAIL_USERNAME"], ENV["GMAIL_PASSWORD"])**
*ss = connection.spreadsheet_by_title('Learn-Rails02-Example')
if ss.nil?
ss = connection.create_spreadsheet('Learn-Rails02-Example')
end*
Run Code Online (Sandbox Code Playgroud)
我已经检查并重新检查了我的用户名和密码,并且 100% 确定它们在 application.yml 文件中是正确的。我已经完成了教程并重复了所有步骤,但我无法弄清楚为什么该应用程序无法连接到谷歌。我还检查过我的谷歌帐户没有设置两步验证。
我想看一个Rails 3的应用程序生成器模板的例子.有什么建议吗?
我对用于生成新Rails应用程序的模板示例感兴趣.Ryan Bates有一个截屏视频(Rails 2.3中的#148 App Templates),它描述了如何为Rails 2.3创建应用程序生成器模板,但我想看看Rails 3中是如何实现类似的.我已经看过几个关于使用的教程Rails 3生成器,但我没有找到任何显示如何创建应用程序生成器模板.
我假设Thor和Rails :: Generators :: Actions的所有功能都可用,但我想看看如何在应用程序生成器模板中使用它们.
似乎术语在这里令人困惑."查看模板引擎"(如Haml)是一回事; "Rails Generators"(例如用于"rails generate helper")是另一回事; 和"应用程序生成器模板"(用于"rails new app_name -m some/path/to/template")是另一回事.
对于Rails 3.1应用程序,我想使用SQLite在本地开发并部署到Heroku(需要PostgreSQL).
我已经设置了我的gemfile
group :development, :test do gem 'sqlite3' end
我可以成功推送到Heroku,但应用失败了
"Please install the postgresql adapter: `gem install activerecord-postgresql-adapter` (pg is not part of the bundle. Add it to Gemfile.)"
如果我将pg gem添加到我的Gemfile并运行bundle install,我得到:
"ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) /opt/local/bin/ruby extconf.rb checking for pg_config . . . not found"
因为我没有在本地安装PostgreSQL.
我不想在本地安装PostgreSQL.
有没有办法部署到Heroku而无需在本地安装PostgreSQL?
我正在使用 macOS Big Sur。当我检查 Ruby 是否可用时,我看到:
$ ruby -v
ruby 2.6.3p62
Run Code Online (Sandbox Code Playgroud)
检查which:
$ which ruby
/usr/bin/ruby
Run Code Online (Sandbox Code Playgroud)
我可以看到 macOS 上预装了 Ruby。但有人告诉我,“不要使用系统 Ruby”。为什么?
我正在考虑使用Ruby(或jRuby)实现身份验证和用户管理,因为在撰写本文时我没有在两者之间做出决定.
Ruby/jRuby有哪些好的auth库?此外,由于我是一个Ruby-newb,我可以使用相同的库来处理ruby或jruby吗?
谢谢,亚历克斯
我想生成一个表格,显示每天创建的用户数量.
什么是最有效或最优雅的ActiveRecord查询?
我的(简化)架构看起来像这样:
create_table "users" do |t|
t.datetime "created_at"
t.string "name"
end
Run Code Online (Sandbox Code Playgroud)
我想要一个看起来像这样的表,其中整数是每天新用户的数量:
day new users
2012-04-01 55
2012-04-02 63
2012-04-03 77
2012-04-04 88
Run Code Online (Sandbox Code Playgroud)
我想从一个如下所示的数组生成表:
data_table.add_rows( [
[ Date.parse("2012-04-01"), 55],
[ Date.parse("2012-04-02"), 63],
[ Date.parse("2012-04-03"), 77],
[ Date.parse("2012-04-04"), 88]
] )
Run Code Online (Sandbox Code Playgroud) 我的浏览器在网页中显示 JavaScript 代码,而不是我的自定义元素的预期输出。网页显示:
[object Object]
Run Code Online (Sandbox Code Playgroud)
自定义元素的代码很简单:
import { LitElement } from 'https://jspm.dev/lit-element@2.3.1';
import { html } from 'https://jspm.dev/lit-html@1.2.1';
export class MyFooter extends LitElement {
createRenderRoot() {
return this;
}
render(){
return html`
foobar
`;
}
}
customElements.define('my-footer', MyFooter);
Run Code Online (Sandbox Code Playgroud)
我没有使用 Node、NPM 或任何构建工具,只是从 JSPM CDN 导入 ES6 模块来加载 JavaScript。
我有一个字符串变量。我想使用变量作为键创建一个哈希。在 Ruby 1.8 中,我使用了 hashrocket 语法,如下所示:
my_key = 'arbitrary'
my_hash = {my_key => 'my_value'}
Run Code Online (Sandbox Code Playgroud)
在 Ruby 1.9 中,有一种新语法,我可以这样做:
my_hash = {arbitrary: 'my_value'}
Run Code Online (Sandbox Code Playgroud)
但是如何将变量转换为键?我试过:
my_key = 'arbitrary'
my_hash = {:my_key 'my_value'}
my_hash = {my_key.to_sym: 'my_value'}
my_hash = {:my_key.to_sym 'my_value'}
my_hash = {my_key.to_sym 'my_value'}
Run Code Online (Sandbox Code Playgroud)
我是否必须继续使用 Ruby 1.8 语法?
使用RVM安装Ruby 2.5,并使用Rails5.2.0.rc1构建应用程序后,每当运行rake时都会收到警告:
/Users/danielkehoe/.rvm/gems/ruby-2.5.0@global/gems/rake-12.3.0/lib/rake/file_utils.rb:10:
warning: already initialized constant FileUtils::RUBY
/Users/danielkehoe/.rvm/rubies/ruby-2.5.0/lib/ruby/gems/2.5.0/gems/rake-12.3.0/lib/rake/file_utils.rb:10:
warning: previous definition of RUBY was here
/Users/danielkehoe/.rvm/gems/ruby-2.5.0@global/gems/rake-12.3.0/lib/rake/file_utils.rb:109:
warning: already initialized constant FileUtils::LN_SUPPORTED
Run Code Online (Sandbox Code Playgroud) 我之前问过有关 cloud9 的类似问题,但我现在尝试在我的 Windows 10 计算机上并行执行相同的项目,因为我无法访问互联网来使用 cloud9。我正在尝试设置配置,为遵循 Daniel Kehoe 的 learn-rails 教程书做准备,但我在设置环境变量时遇到问题。这本书似乎解释了如何在 Mac 上执行此操作,但我在 Atom 编辑器中找不到该文件。书上说输入命令:
atom ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
然而,这只是创建了一个新文件,该文件不属于我的 Rails 应用程序项目目录。我也尝试过
atom ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
这是替代方案,但结果相同。它只是创建一个与我的项目无关的文件。该文件应该已经存在于某处。
我应该将环境变量放入名为“.bashrc”的文件中,但我不知道在哪里可以找到该文件,因为它是隐藏的。如何使用 Atom 文本编辑器找到并打开该文件?
ruby ×4
activerecord ×1
atom-editor ×1
heroku ×1
javascript ×1
jruby ×1
lit-element ×1
lit-html ×1
macos ×1
mongoid ×1
postgresql ×1
railsapps ×1
rake ×1
rspec ×1
rvm ×1
simple-form ×1
smtp-auth ×1
sqlite ×1