自Dreamhost几周前升级服务器以来,我的网站已被破坏.我一直在撕扯我的头发试图修复它并取得了一些进展,但我坚持希望最后的问题.
我在Ruby 1.8.7上使用Rails 3.1.1,并从PhusionPassenger获得一个'Ruby(Rack)应用程序无法启动错误'.它声明它'找不到JavaScript运行时.有关可用运行时的列表,请参阅https://github.com/sstephenson/execjs.(ExecJS :: RuntimeUnavailable)".在Dreamhost的维基上搜索这个已经建议安装'therubyracer'宝石的解决方案.
所以我使用建议的gem更新了我的gemfile,如下所示:
gem'therubyracer','〜> 0.9.9'
编辑:我也尝试添加到文件:
gem'therubyracer',: platforms =>:ruby
但它并没有什么不同.
然后捆绑安装在我的Macbook(运行OS X 10.5.8)上,没有任何障碍.但是,当我运行'cap deploy'来放置Dreamhost时,这会失败; 当我尝试安装therubyracer依赖的libv8时,我看到一个错误.
任何人都知道如何正确安装或任何其他工作解决方案?
可根据要求提供任何其他信息.
终端的完整错误反馈:
- 执行"cd /home/futureproof/abunchofletters.co.uk/releases/20111118003703&& bundle install --gemfile /home/futureproof/abunchofletters.co.uk/releases/20111118003703/Gemfile --path /home/futureproof/.gems/捆绑 - 部署 - 安静 - 没有开发测试"服务器:["abunchofletters.co.uk"] [abunchofletters.co.uk]执行命令**[out :: abunchofletters.co.uk]不幸的是,一个致命的错误已经发生了.请通过https://github.com/carlhuda/bundler/issues向Bundler问题跟踪器报告此错误, 以便我们对其进行修复.谢谢!**[out :: abunchofletters.co.uk] /usr/lib/ruby/1.8/rubygems/installer.rb:483:in
build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) ** [out :: abunchofletters.co.uk] ** [out :: abunchofletters.co.uk] /usr/bin/ruby1.8 extconf.rb ** [out :: abunchofletters.co.uk] *** extconf.rb failed *** ** [out :: abunchofletters.co.uk] Could not …
我有一个显示记录行的HTML表,并在末尾有一个列,带有删除链接.每个删除链接都有一个确认删除类.我需要在点击时弹出一个确认对话框,因为它在多个页面中使用,在外部JS文件中创建了一个确认功能.
我已经使用jQuery [帖子底部的代码]添加了对链接点击的函数调用,并且它工作正常,直到对话框确认一次[用户单击确定].然后不再调用该函数.
我想我错过了一些非常简单的东西,虽然因为我不使用JS/jQuery,所以我的知识可能存在差距.为什么在第一次好之前它才能正常工作?它似乎存储了对结果的引用,并为每个链接重用它而不是唯一的引用.
这是在Notes页面上使用的代码:
$(function() {
// Add Confirmation dialogs for all Deletes
$("a.confirm-delete").click(function(event) {
return fConfirmDelete('Note');
});
});
Run Code Online (Sandbox Code Playgroud)
和fConfirmDelete函数
function fConfirmDelete( deleteObj ) {
return confirm('Are you sure you wish to delete this ' + deleteObj + '?');
}
Run Code Online (Sandbox Code Playgroud) 我们目前在我们的开发服务器上的Visual Studio 2010 Pro中使用C#构建我们的.net网站,然后手动发布它并上传到实时服务器,在那里通过当前文件复制它以进入实时.
我们希望尽可能地自动化这个过程,并且如果可能的话,在某个时间推送它,例如每天午夜.我们目前不使用任何源代码控制,所以这可能使它无论如何......
Team Foundation Server [TFS]是启用此功能的最佳解决方案吗?如果是这样,我们的客户要花多少钱或者我们如何才能找到它?我们在英国,他们确实有MSDN订阅.
我有一个DataList,它绑定了一个People集合,每个Person都有一个Button,点击时需要导致异步回发,因此OnClick事件处理程序可以更改UpdatePanel中显示的详细信息[DataList在UpdatePanel之外].
我已经两次尝试设置Button来更改DataList的OnItemDataBound事件处理程序中的UpdatePanel.一个将AsyncPostBackTrigger分配给UpdatePanel,另一个分配给RegisterAsyncPostBackControl到ScriptManager.两者都有效但只是第一次.如果按下另一个人的按钮[或第二次按下相同的按钮],页面将完全回发.
UpdatePanel的UpdateMode设置为Conditional,ScriptManager的EnablePartialRenderingEnablePartialRendering设置为true.
OnItemDataBound中的代码:
Button btnShowNotes = e.Item.FindControl( "btnShowNotes" ) as Button;
// Trigger
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = btnShowNotes.UniqueID;
trigger.EventName = "Click";
upDetails.Triggers.Add( trigger ); // UpdatePanel
// The trigger or this is used, not both
ScriptManager1.RegisterAsyncPostBackControl( btnShowNotes );
Run Code Online (Sandbox Code Playgroud)
一旦发生了第一个Async PostBack,它似乎失去了引用,但是肯定可以保持这个而不必不断地重新绑定DataList?我必须在尝试这种方式时遗漏一些东西.
我试图在终端中使用以下命令在我的第一个Rails应用程序中运行我的测试:
rspec spec/
Run Code Online (Sandbox Code Playgroud)
但它只会导致以下错误:
Exception encountered: #<NameError: uninitialized constant PagesController>
backtrace:
/Users/rich/.rvm/gems/ruby-1.9.2-p0@abunchofletters/gems/rspec-core-2.3.0/lib/rspec/core/backward_compatibility.rb:20:in `const_missing'
/Users/rich/.rvm/gems/ruby-1.9.2-p0@abunchofletters/gems/rspec-expectations-2.3.0/lib/rspec/expectations/backward_compatibility.rb:6:in `const_missing'
/Users/rich/dev/rails_projects/abunchofletters/spec/controllers/pages_controller_spec.rb:3:in `<top (required)>'
/Users/rich/.rvm/gems/ruby-1.9.2-p0@abunchofletters/gems/rspec-core-2.3.0/lib/rspec/core/configuration.rb:388:in `block in load_spec_files'
/Users/rich/.rvm/gems/ruby-1.9.2-p0@abunchofletters/gems/rspec-core-2.3.0/lib/rspec/core/configuration.rb:388:in `map'
/Users/rich/.rvm/gems/ruby-1.9.2-p0@abunchofletters/gems/rspec-core-2.3.0/lib/rspec/core/configuration.rb:388:in `load_spec_files'
/Users/rich/.rvm/gems/ruby-1.9.2-p0@abunchofletters/gems/rspec-core-2.3.0/lib/rspec/core/command_line.rb:18:in `run'
/Users/rich/.rvm/gems/ruby-1.9.2-p0@abunchofletters/gems/rspec-core-2.3.0/lib/rspec/monkey/spork/test_framework/rspec.rb:4:in `run_tests'
/Users/rich/.rvm/gems/ruby-1.9.2-p0@abunchofletters/gems/spork-0.9.0.rc2/lib/spork/run_strategy/forking.rb:13:in `block in run'
/Users/rich/.rvm/gems/ruby-1.9.2-p0@abunchofletters/gems/spork-0.9.0.rc2/lib/spork/forker.rb:21:in `block in initialize'
/Users/rich/.rvm/gems/ruby-1.9.2-p0@abunchofletters/gems/spork-0.9.0.rc2/lib/spork/forker.rb:18:in `fork'
/Users/rich/.rvm/gems/ruby-1.9.2-p0@abunchofletters/gems/spork-0.9.0.rc2/lib/spork/forker.rb:18:in `initialize'
/Users/rich/.rvm/gems/ruby-1.9.2-p0@abunchofletters/gems/spork-0.9.0.rc2/lib/spork/run_strategy/forking.rb:9:in `new'
/Users/rich/.rvm/gems/ruby-1.9.2-p0@abunchofletters/gems/spork-0.9.0.rc2/lib/spork/run_strategy/forking.rb:9:in `run'
/Users/rich/.rvm/gems/ruby-1.9.2-p0@abunchofletters/gems/spork-0.9.0.rc2/lib/spork/server.rb:47:in `run'
/Users/rich/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/drb/drb.rb:1558:in `perform_without_block'
/Users/rich/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/drb/drb.rb:1518:in `perform'
/Users/rich/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/drb/drb.rb:1592:in `block (2 levels) in main_loop'
/Users/rich/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/drb/drb.rb:1588:in `loop'
Run Code Online (Sandbox Code Playgroud)
我可以在浏览器中成功运行该站点,并且"Spork准备就绪并且正在倾听",这让我觉得我正在运行的Gems,RSpec,Spork还是......有什么问题?而不是我作为PagesController和RSpec测试编写的测试是基于RailsTutorial.org的书.我很茫然.
这是我的Gemfile:
source 'http://rubygems.org'
gem 'rails', '3.0.3'
gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'
gem 'gravatar_image_tag', '0.1.0'
gem "nokogiri", '1.4.4'
gem …Run Code Online (Sandbox Code Playgroud) 我们将一些网站应用程序中的数据导出到Excel电子表格中,但是,当使用GBP符号时,不会输出"£9.99"而是产生"9.99英镑".
以下是同事编写的用于生成电子表格的代码[tableOut是一个包含HTML表格的StringBuilder]:
string filename = "EngageReplies.xls";
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader( "content-disposition", "attachment;filename=" + filename );
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.EnableViewState = false;
Response.Write( tableOut );
Response.End();
Run Code Online (Sandbox Code Playgroud)
我们如何获得所需的输出?
ps不确定是否应将其分成单独的问题,但在生成电子表格时会触发警告消息:
您尝试打开的文件"EngageReplies.xls"的格式与文件扩展名指定的格式不同.在打开文件之前,请验证文件是否已损坏且是否来自受信任的源.你想现在打开文件吗?
我已经使用Firefox和IE用Office 2007打开文件.单击是打开文件可以,但如果我的用户没有受到它,我会更喜欢它.
我的应用程序布局有一个登录/注销链接,根据您是否已登录显示:
<% if signed_in? %>
<%= link_to "Sign out", signout_path, :method => :delete %>
<% else %>
<%= link_to "Sign in", signin_path %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这很好,但看起来真的不整洁,冗长.如何在没有这么多<%...%>括号的情况下输出相应的link_to?
我有一个Book模型,有两个属性,Title和Subtitle.当副标题为空白时,我只想返回标题,否则应返回两者.通过在模型中添加以下内容,这是最好,最简洁的方法吗?
def full_title
self.subtitle.blank? ? self.title : "#{self.title}: #{self.subtitle}"
end
Run Code Online (Sandbox Code Playgroud)
它确实有效,但有些东西似乎有些偏差,也许是丰富的自我......