小编rig*_*gyt的帖子

在[](Gem :: LoadError)中找不到rails(> = 0)

安装rvm,更新.gmrc文件,更新rubygems并运行后gem install rails -v ">=3.1.0rc",我现在似乎已经完全搞乱了:

$ rails -v
/usr/local/lib/site_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find rails (>= 0) amongst [] (Gem::LoadError)
    from /usr/local/lib/site_ruby/1.8/rubygems/dependency.rb:256:in `to_spec'
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:1182:in `gem'
    from /var/lib/gems/1.8/bin/rails:18
Run Code Online (Sandbox Code Playgroud)
myhome@myhome-mini:~$ gem env

RubyGems Environment:
  - RUBYGEMS VERSION: 1.6.2
  - RUBY VERSION: 1.9.2 (2011-02-18 patchlevel 180) [i686-linux]
  - INSTALLATION DIRECTORY: /home/myhome/gems
  - RUBY EXECUTABLE: /home/myhome/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
  - EXECUTABLE DIRECTORY: /home/myhome/gems/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /home/myhome/gems
     - /usr/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - …
Run Code Online (Sandbox Code Playgroud)

ruby rubygems ruby-on-rails rvm ruby-on-rails-3

50
推荐指数
4
解决办法
5万
查看次数

在FactoryGirl中的关联设置属性中传递参数

我想将参数传递给工厂,该工厂将用于在关联模型上设置属性.相关模型在工厂内创建.

我有一个事务模型,通过连接表TxLink与自己的多对多链接.我想调用link = FactoryGirl.create(:link_red_to_sub, sub: 10, red: 7)哪个将创建两个Transaction对象和一个链接这两个的TxLink.

由于最后的结果,我在下面的关联行中收到错误units: sub.错误是"未定义特征".我试过units: { sub }(用括号)而不是骰子.

factory :tx_link do
    units "9.99"

    factory :link_red_to_sub do
      ignore do
        sub 0
        red 0
      end
      units { red }

      association :giver, factory: :transaction, units: sub
      association :taker, factory: :redemption, units: red
    end
  end
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails ruby-on-rails-3 factory-bot

29
推荐指数
2
解决办法
2万
查看次数

Heroku上的免费SSL安全证书?

我将一个Spree Rails应用程序推送到Heroku,我看到它正在使用ssl https://并且在浏览器中有一个黄色的挂锁.单击此按钮会显示"已验证身份",证书信息显示为"已发送至:*.herokuapp.com"

这很棒.在Heroku端没有任何配置或费用,我的应用程序使用SSL和有效的证书.好吧,这是一个黄色而不是绿色挂锁,但嘿,免费也不错.

我确定这是一个愚蠢的问题..但是如何在Heroku上运行另一个带有验证证书的Rails应用程序而无需支付SSL附加组件并购买我自己的证书?

ssl ruby-on-rails heroku

11
推荐指数
1
解决办法
5663
查看次数

AWS S3存储桶策略 - 如何仅允许从我的网站访问?

我有一个回形针文本文件附件(在Rails中).

我的存储桶政策是:

{
    "Version": "2008-10-17",
    "Id": "Policy123",
    "Statement": [
        {
            "Sid": "Stmt123",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": [
                "s3:GetObjectVersion",
                "s3:DeleteObject",
                "s3:DeleteObjectVersion",
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::my_bucket/*"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我想限制访问这些操作只有在我的网站发出请求时才允许.只是将其更新为"Principal":{"AWS":"mywebsite.com"}?

ruby-on-rails amazon-s3 paperclip

6
推荐指数
2
解决办法
2147
查看次数

capybara-webkit无法模拟点击(非链接/按钮)元素

在rspec功能场景中,我有:

scenario 'shows things', js: true do

    page.find('#my_div').trigger(:click)
Run Code Online (Sandbox Code Playgroud)

这似乎没有触发该元素的click事件上的jQuery处理程序.在调试器中,此调用返回一个空字符串"".

capybara-webkit是否能够使用jQuery处理程序模拟鼠标事件来触发更新dom的ajax请求?如果是这样,对此案件的任何建议?我从selenium-webdriver切换,因为不支持capybara #trigger方法.

并尝试直接触发jQuery事件会引发错误:

page.execute_script "$('#masthead .fclass').trigger('click')"
Run Code Online (Sandbox Code Playgroud)

Capybara::Webkit::InvalidResponseError:
       Javascript failed to execute
Run Code Online (Sandbox Code Playgroud)

我的gemfile有

group :test do
  gem 'capybara'
  gem "database_cleaner", "~> 0.9.1"
  gem 'capybara-webkit', git: 'git://github.com/thoughtbot/capybara-webkit.git'
  gem 'launchy'
end
Run Code Online (Sandbox Code Playgroud)

我正在使用'edge'capybara-webkit,因为我遇到了一个带有xpath错误的错误(v2.04?).

虽然我尝试在spec/spec_helper.rb中添加机架异常,但我无法获取javascript错误的日志:

ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'capybara/rspec'
require 'rack/utils'
Capybara.app = Rack::ShowExceptions.new(MyApp::Application)

# Requires supporting ruby files with custom matchers and macros, etc,
# in spec/support/ and its subdirectories.
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}

RSpec.configure do …
Run Code Online (Sandbox Code Playgroud)

jquery rspec ruby-on-rails capybara poltergeist

6
推荐指数
1
解决办法
7013
查看次数

当设计重定向到登录路径时如何flash.keep

注册后,需要确认,我的应用程序重定向到经过身份验证的页面,因此身份验证失败并且设计重定向到登录路径.

注册后我的flash消息因第二次重定向而丢失.

flash.keep在重定向到登录路径之前,在application_controller.rb或帮助程序中,是否可以添加一个地方?如果有替代方案,我宁愿不为此设法覆盖设计控制器.

ruby-on-rails devise ruby-on-rails-3

5
推荐指数
1
解决办法
1456
查看次数

在rails引擎中找不到jquery-ui(jquery-rails gem)

我正在使用jquery-rails gem.在app/assets/javascripts/my_engine/application.js.erb中的rails(不可安装)引擎中:

//= require jquery
//= require jquery_ujs
//= require jquery-ui.min
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Sprockets::FileNotFound: couldn't find file 'jquery-ui.min'\n  (in /home/me/rails/my_engine/app/assets/javascripts/my_engine/application.js.erb
Run Code Online (Sandbox Code Playgroud)

同样的设置在容器应用程序中工作正常.如何清单可以找到jquery和jquery_ujs而不是jquery-ui.min?

我在我的容器应用程序的Gemfile中,在引擎的gemspec和引擎的Gemfile中运行了jquery-rails gem并运行了bundle install.

jquery-ui ruby-on-rails asset-pipeline

5
推荐指数
1
解决办法
3260
查看次数

如何列出包括关注点在内的所有模型

有没有一种简单的方法来列出包含特定关注点的所有模型的类名?

就像是:

ActiveRecord.models.select{ |m| m.included_modules.include? MyConcernModule }
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

5
推荐指数
1
解决办法
2302
查看次数

在AWS RDS MySQL db之间传输数据

将数据从一个amazon rds mySQL实例传输到另一个aws帐户的RDS mySQL实例的最佳方法是什么?

这是为了将Heroku上的网站转移给其他所有者.

mysql mysqldump heroku amazon-web-services amazon-rds

3
推荐指数
1
解决办法
2752
查看次数

AWS S3 AccessDenied.授予了存储区权限,因此当我是用户时,是否需要存储桶策略?

当我测试将图像上传到我的S3存储桶时,我得到了一个AWS :: S3 :: AccessDenied(使用Ruby on Rails).代码使用我自己的安全密钥和密码到我自己的桶,我已经授予自己所有权限(列表,上传/删除,查看权限,编辑权限).

是否还需要输入Bucket Policy来设置ACL权限?我不明白为什么这是必要的,因为我的代码使用我自己的帐户密钥来访问S3.此外,图像在我的网站上显示正常,因此读取权限似乎没有问题.

amazon-s3

3
推荐指数
1
解决办法
1万
查看次数

设计确认链接缺少域名

设计确认_url只生成一个没有域名的相对网址,例如:

http://users/confirmation?confirmation_token=...
Run Code Online (Sandbox Code Playgroud)

我试过改变

confirmation_url(@resources, :confirmation_token => @resource.confirmation_token)
Run Code Online (Sandbox Code Playgroud)

confirmation_url(:confirmation_token => @resource.confirmation_token)
Run Code Online (Sandbox Code Playgroud)

但它产生相同的网址.我升级到设计2.2.3但结果相同.Rails 3.1.4

更新: 我已在我的production.rb中设置:

  config.action_mailer.default_url_options = { :host => 'mysubdomain.mysite.com' } 
Run Code Online (Sandbox Code Playgroud)

我尝试过设置

    before_filter set_actionmailer_host

    def set_actionmailer_host
      ActionMailer::Base.default_url_options[:host] = request.host_with_port
    end
Run Code Online (Sandbox Code Playgroud)

在应用程序控制器中无济于事(https://github.com/plataformatec/devise/issues/1567)

更新: 这在开发和生产中都会发生.

更新 我无法理解为什么Devise没有在app/views/devise/mailer/confirmation_instructions.html.haml中使用模板如果我可以编辑我可以手动附加主机:'http://mysite.com/' + confirmation_url(... 我尝试设置范围视图设置但它没有没有任何影响这是一场灾难,用户无法确认他们的注册:(

ruby-on-rails devise-confirmable

3
推荐指数
1
解决办法
2685
查看次数

按照建议添加急切负载后,Rails 子弹宝石速度变慢

我添加了项目符号 gem来建议我开发中的任何 N+1 查询(Rails 4.0.2),它建议急切地加载模型的两个父关联,在其中显示其所有记录。

在急切加载这些所属关联之一之前:

Completed 200 OK in 5252ms (Views: 1.8ms | ActiveRecord: 114.1ms)
Run Code Online (Sandbox Code Playgroud)

急切加载后:

Completed 200 OK in 6741ms (Views: 2.1ms | ActiveRecord: 146.0ms)
Run Code Online (Sandbox Code Playgroud)

此外,通过急切加载,浏览器会在控制台显示已完成后挂起,并且在一段时间内(大约 6 秒)不会更新。服务器生产没有这种冻结问题,但在这种情况下,急切加载仍然是一个糟糕的建议。

急切加载会变慢是否有意义?该视图确实访问(预先加载的)父记录。

此外,由于某种原因,子弹宝石不显示调用堆栈。

ruby-on-rails eager-loading rails-bullet

3
推荐指数
1
解决办法
780
查看次数

调整 SVG bootstrap 图标的大小

是否可以在 CSS 中调整bootstrap 图标的大小?图标是 SVG。我在 HTML 中添加图标,而不是通过 CSS。

css svg bootstrap-icons

1
推荐指数
1
解决办法
9531
查看次数