我正在尝试将我的第一个应用程序部署到Heroku.我正在使用SQLite作为数据库.据我所知,Heroku不使用SQLite - 它在后端切换到Postgres.
当我正在部署时,我收到以下错误:
/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/runtime.rb:64:in`requirement':没有要加载的文件--sqlite3(LoadError)
我Gemfile(这是我假设导致此问题)如下所示:
source 'http://rubygems.org'
gem 'rails', '3.0.0'
gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我用剃刀做了部分视图.当我运行它时,我得到以下错误 - 看起来Razor似乎一直在想我到处都在编写代码.
"@"字符后出现意外的"foreach"关键字.进入代码后,您不需要使用"@"作为"foreach"的结构前缀
这是我的观点:
@model IEnumerable<SomeModel>
<div>
@using(Html.BeginForm("Update", "UserManagement", FormMethod.Post)) {
@Html.Hidden("UserId", ViewBag.UserId)
@foreach(var link in Model) {
if(link.Linked) {
<input type="checkbox" name="userLinks" value="@link.Id" checked="checked" />@link.Description<br />
} else {
<input type="checkbox" name="userLinks" value="@link.Id" />@link.Description<br />
}
}
}
</div>
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用RVM安装Ruby 2.1.3.我安装了最新版本的XCode,并且我已经安装了rvm.
我基本上在做
rvm autolibs brew
rvm install ruby-2.1.3
Run Code Online (Sandbox Code Playgroud)
一切看起来都正常,但后来我得到了这个错误:
传递给证书的空路径更新,函数堆栈:requirements_osx_update_openssl_cert_run rvm_requiremnts_fail_or_run_action __rvm_osx_ssl_certs_ensure_for_ruby __rvm_osx_ssl_certs_ensure_for_ruby_except_jruby external_import_setup external_import main
我可以得到的唯一参考是当开发人员检查硬编码路径时Ruby 2.1.1的问题,但我看不出这是如何相关的.
这是我得到的完整痕迹:
Searching for binary rubies, this might take some time.
Found remote file https://rubies.travis-ci.org/osx/10.9/x86_64/ruby-2.1.3.tar.bz2
Checking requirements for osx_brew.
Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.
Requirements installation successful.
ruby-2.1.3 - #configure
ruby-2.1.3 - #download
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 …Run Code Online (Sandbox Code Playgroud) 我正在尝试从文本文件加载文件名列表,然后为从文本文件中检索的每个条目运行Exec任务.
所以我有一个文件,让我们称它为SomeFile.txt包含以下内容:
FileA.file
FileB.file
FileC.file
Run Code Online (Sandbox Code Playgroud)
我有这个的MsBuild代码看起来像这样(这不起作用:)
<Target Name="runScripts">
<ItemGroup>
<scriptsFile Include="SomeFile.txt" />
</ItemGroup>
<ReadLinesFromFile File="@(scriptsFile)">
<Output TaskParameter="Lines" ItemName="scriptItems" />
</ReadLinesFromFile>
<Message Text="Running Exec for each entry..." />
<Exec Command="$(someCommand) %(scriptItems)" />
</Target>
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误,说我需要指定一个项目名称,但是如果我使用%(scriptItems.item)或%(itemname.scriptItems)之类的东西,则MsBuild只会放置一个空格而不是%(scriptItems).
我正在运行Project Euler上的问题来自学Ruby编程. 我知道有一个内置函数可以做到这一点,但我正在避免使用内置函数来帮助我学习.
所以我必须编写一个方法来确定一个数字是否是素数.第一种方法有效,但第二种方法没有.有谁能解释为什么?
def is_prime n
for d in 2..(n - 1)
if (n % d) == 0
return false
end
end
true
end
def is_prime2 n
foundDivider = false
for d in 2..(n - 1)
foundDivider = ((n % d) == 0) or foundDivider
end
not foundDivider
end
Run Code Online (Sandbox Code Playgroud) 我需要在字符串中匹配冒号(':'),但不能用引号括起来 - 或者是"或"字符.
所以以下应该有2场比赛
something:'firstValue':'secondValue'
something:"firstValue":'secondValue'
Run Code Online (Sandbox Code Playgroud)
但这应该只有1场比赛
something:'no:match'
Run Code Online (Sandbox Code Playgroud) 我有一个ruby脚本连接到Amazon S3存储桶并下载最新的生产备份.我测试了脚本(这很简单),它工作正常.
但是,当我将此脚本安排为作为cron作业运行时,它似乎在加载Amazon(aws-s3)gem时失败.
我脚本的前几行看起来像这样:
#!/usr/bin/env ruby
require 'aws/s3'
Run Code Online (Sandbox Code Playgroud)
正如我所说,当我手动运行此脚本时,它工作正常.当我通过计划的cron作业运行它时,它在尝试加载gem时失败:
`require':没有要加载的文件 - aws/s3(LoadError)
此脚本的crontab如下所示:
0 3 * * * ~/Downloader/download.rb > ~/Downloader/output.log 2>&1
Run Code Online (Sandbox Code Playgroud)
我原本以为这可能是因为cron作为一个不同的用户运行,但是当我在我的ruby脚本开始时执行'whoami'时它告诉我它是以我一直使用的同一个用户运行的.
我还做了一个bundle init并将gem添加到我的gemfile中,但这似乎没有任何影响.
为什么cron无法加载gem?我正在运行Ubuntu.
我正在使用带有MVC 3的Razor视图引擎,我试图使偶数行和奇数行在表中具有不同的类.
到目前为止我已经有了这个
@{ var odd = true; }
@foreach(var userLot in Model) {
if (!odd) {
<tr id="lot@userLot.Id" class="even">
else
<tr id="lot@userLot.Id" class="odd">
}
<td>@userLot.Id</td>
<td>@userLot.Description</td>
<td>@userLot.Carat</td>
<td class="averageBid">@userLot.AverageBid</td>
<td class="rank">@userLot.Rank</td>
<td class="currentBid">@userLot.CurrentBid</td>
<td style="width: 200px; height: 30px;" class="tdWithBidInput"><input type="text" style="display: none" /></td>
</tr>
@{ odd = !odd; }
}
Run Code Online (Sandbox Code Playgroud)
这给我带来了无穷无尽的麻烦,愚蠢的视图引擎无法弄清楚什么是标记和什么是代码.我已经尝试在文本指令中包装tr开口标记,但是然后愚蠢的视图引擎呻吟着关闭tr标签.如果我然后将结束tr标记包装在text指令中,那么愚蠢的视图引擎就会怀疑text指令没有开始标记.
要明确一点,这个
<text></ tr></text>
Run Code Online (Sandbox Code Playgroud)
给出错误,文本标记没有匹配的开始标记.可爱.
我怎么写这个,以便Razor不会出错?
请不要推荐JavaScript解决方案,我试图解决Razor问题.
我在MVC 3中使用了多个区域,而且我的查看无法找到问题.路由似乎正确地拾取我的控制器(所有操作都没有任何问题地执行),但是当我返回视图MVC时根本找不到它.
因此,如果我在一个名为'Some'的区域中有一个名为'Thing'的简单控制器,我会执行以下操作...
public ActionResult Index()
{
return View("Index");
}
Run Code Online (Sandbox Code Playgroud)
操作正确执行,但MVC找不到视图,我会收到类似的消息
未找到视图'索引'或它的主人......它将显示所有搜索到的位置,这将是
〜/ Views/Thing/Index.cshtml~/Views/Shared/Index.cshtml
等等,但它没有看
〜/一些/浏览/事/ Index.cshtml
关于我做错了什么的任何想法?