我正在尝试将payu.in支付网关集成到我的rails应用程序中.我已将他们的宝石集成到应用程序中,但是当我去的时候
/管理/ payment_methods /新
我无法在提供商选项下看到支付网关.
我已按照http://guides.spreecommerce.com/payment_gateways.html中规定的步骤进行操作
我的app/models/spree/gateway/payu.rb看起来像这样:
module Spree
class Gateway::Payu < Gateway
def provider_class
ActiveMerchant::Billing::Integrations::PayuIn
end
end
end
Run Code Online (Sandbox Code Playgroud) 我目前正在为Rails应用程序中的消息传递系统编写Cucumber功能.这是我的一个步骤.
Then(/^they should see the message displayed in their language$/) do
id = "message_to_#{@family.id}"
expect(page).to have_selector("textarea##{id}")
save_and_open_page
expect(page).to have_field(id, type: :textarea)
end
Run Code Online (Sandbox Code Playgroud)
第一个断言通过,但第二个断言失败.当我检查save_and_open_page创建的标记时,会出现以下元素:
<textarea cols="22" disabled="disabled" id="message_to_13" name="body" placeholder="Hallo, Ich bin sehr interessiert an deinem Profil. Würdest du gerne mit mir in Kontakt treten?" rows="7"></textarea>
Run Code Online (Sandbox Code Playgroud)
显示第二个测试的错误消息是:
expected to find field "message_to_13" but there were no matches. Also found "", which matched the selector but not all filters. (Capybara::ExpectationNotMet)
Run Code Online (Sandbox Code Playgroud)
我在这里撕扯我的头发,以了解为什么Capybara可以使用have_selector找到明显存在的元素,但不能使用have_field?
鉴于此类:
class User < ActiveRecord::Base
enum permission: {
permission_user: 1,
permission_staff: 2,
permission_manager: 3,
permission_admin: 4,
permission_super_admin: 5
}
Run Code Online (Sandbox Code Playgroud)
我想创建一个看起来像这样的夹具:
testuser1:
id: 1
username: sam
permission: :permission_staff
Run Code Online (Sandbox Code Playgroud)
我已经尝试了许多语法变体,但没有找到有用的东西.结果user.permission是nil或0.我知道枚举是相对较新的添加.可以这样做吗?
有一些旧代码在某种情况下会修改params.我相信它之前有效(不是100%).我们现在将params设置为nil,无论条件是否满足.
罪魁祸首是在条件之内,我执行了params = tmp.dup.即使条件为假,也会导致更新操作出错.
我能够通过最小的测试重新创建
(Rails 2.3.5)
rails bug;
cd bug;
script/generate scaffold bug name:string;
rake db:create;
rake db:migrate;
Run Code Online (Sandbox Code Playgroud)
编辑apps/controllers/bugs_controller.rb添加到更新操作的开头
l_p = params.dup
if (false)
params = l_p.dup # NOT REACHED
end
Run Code Online (Sandbox Code Playgroud)
脚本/服务器WEBrick -p 5001
浏览到http:// localhost:5001/bugs 创建一个新的bug编辑错误提交
我有一个问题和解决方案模型.问题有很多解决方案,解决方案属于问题.
我需要得到最近解决的问题,这意味着,获得最后的X解决方案并解决它的问题.我很确定有一种方法可以用named_scopes做到这一点,但我无法弄明白.
任何帮助真的很感激:-)
谢谢,
尼古拉斯·霍克一世
不幸的是,当我在工作时,我正在开发一个无法连接到互联网的网络.所以我一直在从rubygems.org下载我需要的每个gem,然后通过flashdisk将它们复制到内部网络.这工作正常,除非我需要一个具有其他gem依赖关系的gem我必须单独下载这些并且它是缓慢而乏味的.
有没有办法下载一个宝石及其所有依赖的宝石进行离线安装?我在互联网上有一台计算机,我可以安装宝石,我希望我可以下载我需要的宝石,它会自动安装依赖项,然后我可以复制到内部网络.但是gem install一旦安装完毕,似乎不会留下.gem文件.
我想用命令创建myApp
rails new myApp
但它给出了一个错误:
使用本机扩展安装sqlite3(1.3.4)Gem :: Installer :: ExtensionBuildError:错误:无法构建gem本机扩展.
/usr/bin/ruby1.8 extconf.rb检查sqlite3.h ...没有sqlite3.h丢失.尝试'port install sqlite3 + universal'或'yum install sqlite3-devel'并检查共享库搜索路径(sqlite3共享库所在的位置). *extconf.rb失败*由于某些原因无法创建Makefile,可能缺少必要的库和/或标头.检查mkmf.log文件以获取更多详细信息.您可能需要配置选项.
提供的配置选项: - with-opt-dir --without-opt-dir --with-opt-include --without-opt-include = $ {opt-dir}/include --with-opt-lib - without-opt-lib = $ {opt-dir}/lib --with-make-prog --without-make-prog --srcdir =.--curdir --ruby =/usr/bin/ruby1.8 --with-sqlite3-dir --without-sqlite3-dir --with-sqlite3-include --without-sqlite3-include = $ {sqlite3-dir}/include --with-sqlite3-lib --without-sqlite3-lib = $ {sqlite3-dir}/lib --enable-local --disable-local
Gem文件将保留在/usr/lib/ruby/gems/1.8/gems/sqlite3-1.3.4中以供检查.结果记录到/usr/lib/ruby/gems/1.8/gems/sqlite3-1.3.4/ext/sqlite3/gem_make.out安装sqlite3(1.3.4)时出错,Bundler无法继续.
gem install sqlite3 -v '1.3.4'在捆绑之前确保成功.
我该怎么办?谢谢
我在使用DigitalOcean Droplet编译Ruby时遇到问题.
rbenv 0.4.0-97-gfe0b243
Ubuntu 14.04 LTS
Linux bashman 3.13.0-24-generic#46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
rbenv install 2.1.1
Run Code Online (Sandbox Code Playgroud)
给我:https://gist.github.com/astropanic/e4d3a3602612b3c21636
失败似乎与:
compiling readline.c
readline.c: In function ‘Init_readline’:
readline.c:1977:26: error: ‘Function’ undeclared (first use in this function)
rl_pre_input_hook = (Function *)readline_pre_input_hook;
^
readline.c:1977:26: note: each undeclared identifier is reported only once for each function it appears in
readline.c:1977:36: error: expected expression before ‘)’ token
rl_pre_input_hook = (Function *)readline_pre_input_hook;
^
readline.c: At top level: …Run Code Online (Sandbox Code Playgroud) 我想循环方法来获取我在运行中编译的值数组,但它似乎正在解释它而不是我所希望的.
(在这个例子中它是一个静态数组,但我希望它工作,以便我可以使用不同构造的数组)
- some_array = ['one', 'two', 'three']
- colors.each do |color|
%a{ :name => color, :class => "#{cycle(some_array)}" }
Run Code Online (Sandbox Code Playgroud)
这适用于每个元素的类:
"three"] "two", ["one",
Run Code Online (Sandbox Code Playgroud)
......看起来好像在调用to_s数组或其他东西.
我该怎么做呢?
ruby ×4
capybara ×1
controller ×1
cucumber ×1
enums ×1
fixtures ×1
gem ×1
named-scope ×1
params ×1
rbenv ×1
rspec ×1
spree ×1
sqlite ×1
unit-testing ×1