我正在浏览github.com/rails/rails上的代码,我无法弄清楚代码在哪里生成Rails脚手架.任何人都可以对此有所了解吗?
我有一个应用程序数据库,其中包含一个用户表(基于计数字段*typelength的每个用户1kbyte数据),以及属于用户的大约100个相同大小的内容(每件事物0.5千字节),并且它位于"用户"中"表和"事物"表.
这似乎会导致每个用户大约51千字节的数据.但是,我听说对于MySQL,我应该加倍覆盖索引表,这会让我达到102kbytes/user这是真的吗?是否有任何其他数据扩展因素需要考虑MySQL,或者是一个好的估计是102千字节?
除了索引因子(我认为是2)和存储效率(我也认为是2),MySQL中的数据存储还有其他任何乘数吗?
我需要构建一个使用发布/订阅总线的系统(例如Mule,ZeroMQ,RabbitMQ),但是文献都暗示订阅者应用程序可靠地用于接收Pub/Sub总线上他们订阅的主题的消息能够传递信息.
我有一个系统,其中一些应用程序将可靠地连接到发布/订阅总线,但其他应用程序将不会处于活动状态或始终连接到总线.
显而易见的解决方案是在不可靠的应用程序和发布/订阅总线之间建立某种"存在"协议,以便"当前"应用程序立即传递其消息,并且"不存在"应用程序将其消息排队在持久缓冲区中在某种情况下,一旦完成"在线握手",排队的消息就会被传递给新呈现的应用程序.
是否有任何内置此类功能的发布/订阅总线,或者是否有任何开源附加组件可以执行此操作?你能指点我描述这个的任何网址吗?
mule publish-subscribe unreliable-connection rabbitmq reliable-message-delivery
我有一个 Ruby/Rails 应用程序,它是标准的 Rails CRUD,带有一些 jQuery,但没有 AJAX。
我有一个 Java Web 应用程序,我想将 Ruby/Rails 应用程序与其集成。Rails 应用程序使用与 Java Web 应用程序相同的数据库,并且(安全地)共享一些表,我将使用 JRuby/Warbler 将 Rails 应用程序放入 WAR 文件中,并将其部署到同一物理服务器上的单独 Tomcat 。Java 应用程序在同一服务器上的端口 80 上运行,Rails 应用程序在端口 3000 上运行。
在Java应用程序的UI中,有一个地方可以放置Ruby应用程序的新UI。它的形式是几个骨架页面上的一些空白“div”标签以及一些附带的屏幕空间。我不想尽可能多地使用 Java UI 代码,而只需要最少的代码。
有没有办法在我有权访问的两个或三个 div 内运行 Ruby 应用程序的 UI?理想情况下,我可以指向每个 div 加载 Rails 应用程序 (URL) 中的一个入口点,然后让它根据需要加载其他页面吗?
我需要担心后退按钮吗?
为了解决这个问题我还应该问其他问题吗?
干杯,杰伊
我没有使用paperclip或carrierwave或任何其他宝石与亚马逊网络服务s3进行交互.事实上,我没有使用任何模型,只是直接与S3对象进行交互.
有人可以提供一些代码来说明如何从AWS S3直接下载对象(文件)
到目前为止这是我的代码:
视图:
<h2>Download Files</h2>
<%@root_files.each do |file| %>
<% next if @obj %>
<td>Filename: <b><%= file %></b></td>
<td><%= link_to "Download", download_url_for(file) %></td>
<% end %>
Run Code Online (Sandbox Code Playgroud)
对应控制器:
def xxx
bucket = AWS::S3.new.buckets[ ENV["BUCKET"]]
@root_files = bucket.as_tree.children.select(&:leaf?).collect(&:key)
end
Run Code Online (Sandbox Code Playgroud)
download_url_for方法:
def download_url_for(file_key)
s3 = AWS::S3.new
bucket = s3.buckets[ ENV["BUCKET"]]
object = bucket.objects[file_key]
File.open('xxxxx', 'wb') do |file|
object.read do |chunk|
file.write(chunk)
end
end
end
Run Code Online (Sandbox Code Playgroud)
我需要能够将下载的文件保存在桌面上任何可浏览的非预定位置.我真的很感激如何修改download_url_for方法以实现此目的.
=====================================我刚试过用
<td><%= link_to "Download",object.value.url_for(:read).to_s %></td>
Run Code Online (Sandbox Code Playgroud)
但是在下载时我只得到一个带有xml内容的zip文件,而不是原始文件(在我的情况下是word文档)---有关如何修改它以获取实际文件类型和内容的任何想法?谢谢
=======================继承我上传文件的代码
查看代码:
<%= form_tag({:action => 'create_file'}, multipart: true) …Run Code Online (Sandbox Code Playgroud) 在我的Windows计算机上,我成功安装了Ruby 1.9.2和Rails 3.0.3.然后我安装了heroku gem(gem install heroku),版本1.17.10,它安装得很好.当我尝试运行"heroku版本"时,它给了我一条消息,"此应用程序无法启动,因为找不到msvcrt-ruby18.dll.重新安装应用程序可能会解决此问题."
谁能告诉我现在该做什么?我感谢任何帮助.
我最近分叉https://github.com/fortuity/rails3-mongoid-omniauth并试图让登录为不同的提供商工作.它适用于Twitter和Facebook(您可以在http://jgodse-omniauth-mongoid.heroku.com/上试用它),但我无法让它适用于Github.代码快照在github上.
我的环境看起来像这样:
$ heroku info
=== jgodse-omniauth-mongoid
Web URL: http://jgodse-omniauth-mongoid.heroku.com/
Git Repo: git@heroku.com:jgodse-omniauth-mongoid.git
Dynos: 1
Workers: 0
Repo size: 7M
Slug size: 5M
Stack: bamboo-mri-1.9.2
Data size: (empty)
Addons: Basic Logging, MongoHQ MongoHQ Free, Shared Database 5MB
Owner: xxxxx@yyy.com
Jay@JAY-PC ~/rapps/rails3-mongoid-omniauth (master)
$ heroku config --long
BUNDLE_WITHOUT => development:test
DATABASE_URL => postgres://xxxxxxxxxxxxxxxxxxxx.compute-1.amazonaws.com/rrretnhwhj
FACEBOOK_APP_ID => xxxxxxxxxxxxxxxxxxxx
FACEBOOK_APP_SECRET => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
GITHUB_CLIENT_ID => xxxxxxxxxxxxxxxxxxxxx
GITHUB_SECRET => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
LANG => en_US.UTF-8
MONGOHQ_URL => mongodb://heroku:9xxxxxxxxxxxxxxxx.mongohq.com:27098/app527030
RACK_ENV => production
SHARED_DATABASE_URL …Run Code Online (Sandbox Code Playgroud) 我正在寻找构建一个具有许多数据源的应用程序,每个数据源都将事件放入我的系统.事件具有明确定义的数据结构,可以使用JSON或XML进行编码.
我希望能够保证事件被持久保存,并且事件被用作发布/订阅总线的一部分,每个事件可能有多个订阅者.
对于数据库,可用性非常重要,即使它扩展到多个节点,并且分区容差很重要,这样我可以扩展可以存储我的事件的位置数.最终的一致性对我来说已经足够了.
我在考虑使用JMS企业消息传递总线(例如Mule)或AMQP企业消息传递总线(例如RabbitMQ或ZeroMQ).
但对于我的应用程序,似乎如果我可以使用CouchDB或类似的东西设置发布订阅系统,它将解决我的问题,而无需集成企业消息传递总线和持久存储系统.
哪种方法更好,CouchDB +扩展+负载平衡+某种PubSub机制,或显式PubSub消息系统,附带最终一致,可用,分区容忍的存储?哪一个更容易设置,管理和操作?对于给定的成本,哪种解决方案具有高吞吐量?为什么?
另外,在选择我的技术之前还有其他问题吗?(顺便说一句,Java是服务器端和客户端语言).
我在Amazon EC2上有一个 Windows 2008r2 实例。我希望能够从实例中访问其“公共 DNS 名称”。公共 DNS 名称也可以在我的 AWS EC2 控制台上找到。
有没有办法做到这一点?
我有一个rails应用程序,它在控制器的内存中有一个png文件,由spark_pr生成.
@pngfile << Spark.plot( [47, 43, 24, 47, 16, 28, 38, 57, 50, 76, 42, 20, 98, 34, 53, 1, 55, 74, 63, 38, 31, 98, 89], :has_min => true, :has_max => true, 'has_last' => 'true', 'height' => '40', :step => 10, :normalize => 'logarithmic' )
@user=User.all.first
Run Code Online (Sandbox Code Playgroud)
我想在我的视图中渲染这个png文件,即app/views/users/show.html.erb,它具有由Rails脚手架生成器生成的标准内容,其中显示了@user的各种属性.
如何在视图中呈现此内存文件(@pngfile)?我不想保存文件,也不想为该文件提供临时URL.我已经在HTML页面上看到了这一点,其中内嵌图标是从二进制blob渲染的,所以我知道这是可能的.但我无法弄清楚使用Rails视图助手的神奇咒语使这成为可能.
-----------编辑:更多信息-------------------------
此站点提供了有关如何嵌入URL的更多信息.文件夹图标的代码如下所示:
<img src="data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub/
/ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcpp
V0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7"
width="16" height="14" alt="embedded folder icon">
Run Code Online (Sandbox Code Playgroud)
我在我的视图中嵌入了这个确切的代码,它适用于Chrome,Firefox和IE9.
所以我尝试用我的火花情节做这个.
在我的Rails控制器中,我这样做了:
@pngfile = Base64.encode64 Spark.plot( [47, 43, 24, 47, 16, 28, 38, 57, 50, 76, …Run Code Online (Sandbox Code Playgroud)