Tag: railstutorial.org

无法在rails教程中播种数据库

11.2.2 首先我迁移了db(bundle exec rake db:migrate:reset),然后我尝试播种它(捆绑exec rake db:seed),我得到这条消息: rake aborted! SyntaxError: /home/aki/sample_app/db/seeds.rb:25: syntax error, unexpected end-of-input, expecting keyword_end /home/aki/.rvm/gems/ruby-2.1.3/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:268:in `load’ /home/aki/.rvm/gems/ruby-2.1.3/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:268:in `block in load’ /home/aki/.rvm/gems/ruby-2.1.3/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:240:in `load_dependency’ /home/aki/.rvm/gems/ruby-2.1.3/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:268:in `load’ /home/aki/.rvm/gems/ruby-2.1.3/gems/railties-4.2.0/lib/rails/engine.rb:547:in `load_seed’ /home/aki/.rvm/gems/ruby-2.1.3/gems/activerecord-4.2.0/lib/active_record/tasks/database_tasks.rb:250:in `load_seed’ /home/aki/.rvm/gems/ruby-2.1.3/gems/activerecord-4.2.0/lib/active_record/railties/databases.rake:180:in `block (2 levels) in ‘ Tasks: TOP => db:seed 这是我的db/seeds.rb文件: User.create!(name: “Example User”, email: “example@railstutorial.org”, password: “foobar”, password_confirmation: “foobar”, admin: true, activated: true, […]

RailsTutorial 3.2 Ch 9 – “before {valid_signin(user)}”导致RSpec测试失败

我目前在RailsTutorial 3.2, 第9.3.1节用户索引中 。 代码清单9.27指向spec/requests/authentication_pages_spec.rb代码的编辑,如下所示: require ‘spec_helper’ describe “Authentication” do . . . describe “with valid information” do let(:user) { FactoryGirl.create(:user) } before { valid_signin(user) } it { should have_selector(‘title’, text: user.name) } it { should have_link(‘Users’, href: users_path) } it { should have_link(‘Profile’, href: user_path(user)) } it { should have_link(‘Settings’, href: edit_user_path(user)) } it […]

UsersController中的NoMethodError #show / undefined方法`key?’ 为零:NilClass

我在跟随Michael Hartl的Rails教程时遇到了意外错误。 一帆风顺。 我第一次看到在Hartl的清单7.3完成后,我得到了一个不同的“Action Controller:Exception caught”错误。 具体来说,当试图达到/ users / 1时,我得到: UsersController#show中的NoMethodError 未定义的方法`key?’ 为零:NilClass 我继续阅读清单7.5 – 为用户的show动作添加一个视图,然后将show动作添加到Users控制器 – 这解决了Hartl得到的错误,但这些步骤并没有解决我的错误。 基于这个问题 ,我已经validation我的app / models / user.rb没有拼写错误:在搜索拼写错误之后,我将Hartl的代码复制并粘贴到我的文件中。 关于在哪里寻找拼写错误/问题的任何指导都将非常感激。 编辑1:根据要求,UsersController #show方法: def show @user = User.find(params[:id]) end 编辑2:完整跟踪: actionpack(3.2.8)lib / action_controller / metal / hide_actions.rb:36:在`visible_action?’ actionpack(3.2.8)lib / action_controller / metal / hide_actions.rb:18:在`method_for_action’中 actionpack(3.2.8)lib / action_controller / metal / implicit_render.rb:14:在`method_for_action’中 […]

AWS S3 IAM策略,用于对单个存储桶执行读写权限

在Michael Hartl’Rails教程的第11.4.4节“ 生产中的图像上传 ”中,建议使用Amazon Web Services S3作为云存储服务。 在页面底部的一个注释中,作者自己将本书的这一部分定义为“具有挑战性”,并且还表明它“可以跳过而不会失去连续性”。 实际上,本节最具挑战性的部分之一是找到一个合适的IAM策略,该策略可以附加到AWS上的IAM用户,以便授予IAM用户对S3存储桶的读写权限。 我发现在Stackoverflow上这是一个常见问题:例如,请参阅“ 尝试设置Amazon的S3存储桶:403禁止错误和设置权限 ”。 实际上, Amazon Web Services针对需要对单个S3存储桶具有读写权限的应用程序的解决方案不起作用,并且尝试上载图像的用户从Heroku的AWS服务器接收403禁止状态。 预定义的“AmazonS3FullAccess”策略确实有效,但不应将其视为最终解决方案,因为不需要向IAM用户授予太多权限,因此也不需要向应用程序授予权限,并且我认为也可能是安全漏洞。 那么正确的IAM政策是什么?

Rails教程演示应用程序中的ExecJS :: ProgramError

我正在http://ruby.railstutorial.org/chapters/a-demo-app#sec:planning_the_application上关注演示应用程序教程。 为用户生成脚手架后。 当我尝试访问localhost:3000 / users。 我在ExecJS上遇到以下错误 Started GET “/users” for 127.0.0.1 at 2012-08-01 13:35:37 -0500 Connecting to database specified by database.yml Processing by UsersController#index as HTML User Load (0.1ms) SELECT “users”.* FROM “users” Rendered users/index.html.erb within layouts/application (3.1ms) Completed 500 Internal Server Error in 458ms ActionView::Template::Error (ExecJS::ProgramError (in /Users/kylec/apps/demo_app/app/assets/javascripts/users.js.coffee)): 3: 4: DemoApp 5: “all” %> […]

为什么carrierwave导致NameError:未初始化的常量Micropost :: PictureUploader错误?

在Hartl Rails教程第13.4.1章基本图像上传中,我们为图像上传添加了carrierwave gem。 但是,在生成上传器并将迁移添加到Microposts模型后,我在测试中不断出现此错误: NameError: uninitialized constant Micropost::PictureUploader 谷歌搜索后我能够通过添加到我的environments.rb来解决这个问题.rb: require ‘carrierwave/orm/activerecord’ 但我觉得我做错了,因为Hartl没有这样做,他假设在第13.4.1节末尾你的测试应该在重启服务器后通过。 我做错了吗? 更新: 将该行添加到我的environments.rb文件后,我的测试通过了。 然后,一旦他们通过,我能够删除该线,测试继续通过。 这就像一次初始化所需的常量。 我会说我在第一次运行测试之前忘记运行rails db:migrate ,但我继续删除测试数据库,重新创建它,然后运行迁移,重启服务器并且没有修复它。 对于出了什么问题仍感到困惑。

如何将image_tag与bootstrap类一起使用:“img-responsive”? 第11章

我问这个问题的原因是为了帮助我解决一个非常烦人的语法错误。 我正在使用第11章,所以我可以在我的新网站上用图像构建一个博客部分,当我尝试添加类时,一切都在分开:“img-responsive”到这一行。 我只是无法弄清楚添加类的正确语法:“img-responsive”。 图像上传很好,但它突破了col-md-6容器,并显示打破页面布局的完整图像,因此除了我尝试添加类时,它们都在本地工作:括号中的“img-responsive”或括号,我试图崩溃应用程序的每一种方式,所以我卡住了。 我已经四处寻找其他解决方案了,我发现了一个可以与carrierwave配合使用的gem…… 响应图像gem 但这似乎就像用大锤敲打坚果一样,到目前为止我已经想到的所有其他问题,但这真的很烦人。 我无法找到适合响应图像的载波resize的任何东西,当然我可以使用img-responsive类? 关心肖恩

无法推送到git hub

我刚刚完成了Hartl的Ruby on Rails教程的第一章。 以前张贴过一个小故障。 现在我开始了第二章。 我发誓我按书完成了所有事情,但现在当我尝试时: git push -u origin master 输入密码后,我收到以下消息: 错误:找不到存储库致命:无法从远程存储库读取请确保您具有正确的访问权限并且存储库存在。 当我下载heroku工具时,我认为它在我的机器上安装了第二个版本的Ruby。 无论如何,我现在在All Programs下列出了两个版本。 这可能搞砸了吗? 这两个版本是Ruby 1.9.2-p290和1.9.3-p327 。 此外,当我使用1.9.2打开命令提示符时,在我做任何事情之前在顶部有一个奇怪的事情: ‘C:\ Program’不被识别为内部或外部命令,可操作程序或批处理文件。 然后是下一行的正常提示。 我想知道我的公钥的使用是否有些搞砸了。 任何帮助,将不胜感激。

无法运行rails服务器:`require’:无法加载此类文件–net / ssh(LoadError)

我正在尝试使用michael hartl指南在轨道上学习ruby。 在过去,我能够完成新的rails webapp的设置。 现在,当我尝试运行服务器时,我收到此错误: /home/ss/.rvm/gems/ruby-2.2.2/gems/fog-1.26.0/lib/fog/joyent/compute.rb:3:in `require’: cannot load such file — net/ssh (LoadError) from /home/ss/.rvm/gems/ruby-2.2.2/gems/fog-1.26.0/lib/fog/joyent/compute.rb:3:in `’ from /home/ss/.rvm/gems/ruby-2.2.2/gems/fog-1.26.0/lib/fog/joyent.rb:1:in `require’ from /home/ss/.rvm/gems/ruby-2.2.2/gems/fog-1.26.0/lib/fog/joyent.rb:1:in `’ from /home/ss/.rvm/gems/ruby-2.2.2/gems/fog-1.26.0/lib/fog.rb:41:in `require’ from /home/ss/.rvm/gems/ruby-2.2.2/gems/fog-1.26.0/lib/fog.rb:41:in `’ from /home/ss/.rvm/gems/ruby-2.2.2/gems/carrierwave-0.10.0/lib/carrierwave/storage/fog.rb:3:in `require’ from /home/ss/.rvm/gems/ruby-2.2.2/gems/carrierwave-0.10.0/lib/carrierwave/storage/fog.rb:3:in `’ from /home/ss/.rvm/gems/ruby-2.2.2/gems/carrierwave-0.10.0/lib/carrierwave/storage.rb:9:in `require’ from /home/ss/.rvm/gems/ruby-2.2.2/gems/carrierwave-0.10.0/lib/carrierwave/storage.rb:9:in `’ from /home/ss/.rvm/gems/ruby-2.2.2/gems/carrierwave-0.10.0/lib/carrierwave.rb:78:in `require’ from /home/ss/.rvm/gems/ruby-2.2.2/gems/carrierwave-0.10.0/lib/carrierwave.rb:78:in `’ from /home/ss/.rvm/gems/ruby-2.2.2/gems/bundler-1.10.6/lib/bundler/runtime.rb:76:in `require’ from /home/ss/.rvm/gems/ruby-2.2.2/gems/bundler-1.10.6/lib/bundler/runtime.rb:76:in `block (2 levels) […]

在轨道上的ruby中自动测试出错

我运行命令autotest,这是我得到的错误。 我正在关注Hartl的书,并想知道这场冲突是否正在发生,因为rails现在附带ZenTest或其他东西? 我如何解决此错误。 我是RoR的新手 Invalid gemspec in [/Users//.rvm/gems/ruby-1.9.2-p320@twitclone/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement [“= 1.8”] Invalid gemspec in [/Users//.rvm/gems/ruby-1.9.2-p320@twitclone/specifications/ZenTest-4.8.4.gemspec]: Illformed requirement [“= 1.8”] /Users//.rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs’: Could not find ZenTest (>= 0) amongst [abstract-1.0.0, actionmailer-3.2.8, actionmailer-3.2.8.rc1, actionmailer-3.0.1, actionmailer-3.0.0, actionpack-3.2.8, actionpack-3.2.8.rc1, actionpack-3.0.1, actionpack-3.0.0, activemodel-3.2.8, activemodel-3.2.8.rc1, activemodel-3.0.1, activemodel-3.0.0, activerecord-3.2.8, activerecord-3.2.8.rc1, activerecord-3.0.1, activerecord-3.0.0, activeresource-3.2.8, activeresource-3.2.8.rc1, activeresource-3.0.1, activeresource-3.0.0, activesupport-3.2.8, activesupport-3.2.8.rc1, activesupport-3.0.1, activesupport-3.0.0, addressable-2.3.2, […]