Tag: ruby on rails 3.1

如何增加Heroku日志排放详细程度以包括所有Rails应用程序详细信息?

目前我正在Heroku Celadon Cedar上运行一个Rails 3.1.x应用程序,似乎日志冗长非常缺乏。 我已将日志级别设置为DEBUG a la heroku config:add LOG_LEVEL=DEBUG –app app_name ,这与他们的推荐相匹配,但是除此之外我似乎无法提取log / *文件内容。 从Thin更改为Unicorn确实略微增加了详细程度,但仅限于Web worker请求。 我仍然无法下拉数据库请求等等。 通过heroku“drain”机制最大化日志详细程度的最佳方法是什么,以便可以将所有实例日志拉入一个内聚日志? (理想情况下,我想包含一种方法将其转储到我自己的一个日志服务器中,因为这只是一种痛苦,后方无法及时查看特定事件和周围环境。)

Rails 3初始化程序只在`rails server`上运行而不是`rails generate`等

我有一个相对较小的初始化代码,我想在rails server运行时运行,但不是在我运行rails generate , rails console或任何其他rails命令时(包括需要环境任务的rake任务)。 这段代码预先填充了一些缓存并且相对昂贵,所以我真的不希望它运行在除了rails s任何东西上 解决方案不满意: Foreman等人。 意味着它将运行在一个不同的进程上,这个进程是(a)代表那一小段代码的顶部,(b)需要进程间通信而不是初始化程序提供的简单内存中方法。 在服务器上,我通过配置乘客将一个特殊的环境变量传递给rails来解决这个问题,告诉它它在服务器上下文中运行。 但是,如果可能的话,我希望它可以在所有开发人员的机器上开箱即用,而不需要记住以一种同样提供该环境变量的方式运行rails服务器(即IN_SERVER=true rails server )。 关于在rails server运行而不是在rake运行初始化程序时,一直都会问过这个问题。 但是我希望它只在服务器初始化中运行 – rake的修复很好但不全面。

HTML5 VIDEO无法在我的rails 3应用中运行

我正在尝试在开发中的Rails 3应用程序中显示HTML5video,我正在使用Sqlite3和默认网络服务器(Webrick)。我将video文件(movie.ogg)放在资产(assets / movie.ogg)下。video窗口屏幕显示但是那里没有video。我有3个问题…由于rails app资产没有video子文件夹(就像它有图像的方式),你在哪里放video文件? Webrick是否支持Html5video?以下是我的代码,我在这里缺少什么才能使video正常工作? 视图 Your browser does not support the video tag. 配置/初始化/ mime_types.rb Rack::Mime::MIME_TYPES.merge!({ “.ogg” => “application/ogg”, “.ogx” => “application/ogg”, “.ogv” => “video/ogg”, “.oga” => “audio/ogg”, “.mp4” => “video/mp4”, “.m4v” => “video/mp4”, “.mp3” => “audio/mpeg”, “.m4a” => “audio/mpeg” })

如何在Rails 3.2.1中使用特定于控制器的样式表?

使用Rails 3.2.1 我使用命令创建了一个名为Home的简单控制器: rails g controller Home index 它为我创建了一个新的控制器和视图: 注意有两个样式表,一个是“应用程序”,另一个是“主页”。 我找不到任何文档来支持这个假设,但我猜你把样式只应用于Home.css.scss文件中的“Home”视图,对吗? 因此,作为测试,我在Application.css.scss.erb中添加了一些全局样式并运行了应用程序。 样式按预期应用。 接下来,我在Home.css.scss文件中添加了一些规则,并访问了“Home / index”视图,但该文件中的样式未附加,既不作为单独的CSS引用链接,也不附加到单个Application.css.scss文件。 这对我来说非常困惑,因为评论说: // Place all the styles related to the Home controller here. // They will automatically be included in application.css. // You can use Sass (SCSS) here: http://sass-lang.com/ 为什么Home.css.scss中写的规则不适用于我的网站?

蓝图css rails 3.1帮助

我的蓝图css在我的本地机器上工作,但是当我推送到heroku时我得到一个错误。 我的蓝图存储在我的app/assets/stylesheets folder ,这里是我正在使用的样式表标签: ‘screen’ %> ‘print’ %> 在我的heroku日志中,它说application.css没有预编译,我认为这可能是错误,但我不知道如何解决它。 这是我的heroku日志: 2011-09-04T07:35:59+00:00 heroku[web.1]: Idling 2011-09-04T07:36:00+00:00 heroku[web.1]: State changed from up to down 2011-09-04T07:36:00+00:00 heroku[web.1]: State changed from down to created 2011-09-04T07:36:00+00:00 heroku[web.1]: State changed from created to starting 2011-09-04T07:36:01+00:00 heroku[web.1]: Stopping process with SIGTERM 2011-09-04T07:36:01+00:00 app[web.1]: >> Stopping … 2011-09-04T07:36:01+00:00 heroku[web.1]: Process exited 2011-09-04T07:36:04+00:00 heroku[web.1]: Starting […]

pdfkit没有样式pdf

我有一个使用pdfkit创建pdf文档的rails 3.1应用程序,除了生成的pdf没有任何样式这一事实外,一切都按指定的方式工作。 我假设wkhtmltopdf无法访问我的样式表,并且它不是一个更大的问题。 有人会知道如何允许访问这些样式表吗? 我基本上已经关注了这个主题的railscast#220,但是我不得不创建一个新的初始化程序来使pdfkit与rails 3.1一起使用。 这是我必须使用的初始化程序,以使pdfkit与rails 3.1一起使用 ActionController::Base.asset_host = Proc.new { |source, request| if request.env[“REQUEST_PATH”].include? “.pdf” “file://#{Rails.root.join(‘public’)}” else “#{request.protocol}#{request.host_with_port}” end } pdf的链接如下所示: “pdf”) %> 这将为我提供一个没有样式的pdf链接。 在我的application.rb中,我已经配置了pdfkit: config.middleware.use PDFKit::Middleware, :print_media_type => true 我还将此添加到我的layouts / application.html.erb文件中: “all” %>

如何从Rails 3.1中的控制器引用编译资产?

我在我的控制器中使用PDFkit来构建一系列PDF,将它们压缩,然后将它们发送给用户。 为了控制输出样式,我告诉PDFKit在内容生成期间使用哪些样式表。 我需要传递CSS文件的文件引用。 由于Rails现在正在编译和重命名我的样式表,我不知道如何在我的控制器中引用已编译的CSS资源。 这就是我以前做的事情: InvoicesController false)) kit.stylesheets << "#{Sass::Plugin.options[:css_location]}/application.css" kit.to_file("#{file_date_string}.pdf") # snip end end Sass :: Plugin.options [:css_location]现在返回错误的位置,更不用说application.css不再是文件的有效名称。 我应该提一下,我有一个app / assets / application.css文件作为我的SCSS文件的清单,它通过stylesheet_link_tag()方法在我的视图中正常工作。 基本上我正在寻找的是一个控制器,相当于asset_path(),以便做这样的事情: kit = PDFKit.new(render_to_string(:show, :layout => false)) kit.stylesheets << asset_path('application.css') kit.to_file("#{file_date_string}.pdf") 有人可以帮忙吗?

Rails 3.1+嵌套表单问题:无法批量分配受保护的属性

我有一个篮球应用程序,其中一个名单有很多玩家,一个玩家可以在多个名单上。(多对多的原因是玩家 – 名册档案) Roster.rb class Roster :rosterizes accepts_nested_attributes_for :players attr_accessible :jersey_number, :team_id, :class_year, :players end Rosterizes.rb (名字不好我知道……) class Rosterize < ActiveRecord::Base belongs_to :player belongs_to :roster attr_accessible :player_id, :roster_id end Player.rb class Player :rosterizes validates_presence_of :first_name, :last_name attr_accessible :first_name, :last_name, :active end 风景 New Player player_added_team_path, :html => { :class => ‘form-horizontal’ } do |f| %> […]

在轨道上的ruby上构建方法

对rails很新,我正在跟踪使用rails 3.1在Agile Web开发中找到的Depot项目。 一切都很好,直到我迷失了本书使用“构建”方法。 @cart = current_cart product = Product.find(params[:product_id]) @line_item = @cart.line_items.build(product: product) 我的谷歌搜索让我明白.build方法只是一种在表格中创建行的更简洁的方法(表格之间有关联)。 但是在上面的代码中,我期待代码看起来像这样: @line_item = @cart.line_items.build(product_id => params[:product_id]) 我不明白为什么作者必须存储整行产品(product = Product.find(params [:product_id]))而不是仅仅获取product_id … 还有比我能理解的更多的东西吗?

Rails 3.1与application.html.erb中的javascript_include_tag问题

我创建了一个简洁的Rails 3.1应用程序,名为demo1。 它包含两个控制器 – 你好和再见。 当我尝试加载http:// localhost:3000 / say / hello时出现以下错误: ActionView::Template::Error ( (in /home/me/dev/ruby/demo1/app/assets/javascripts/say.js.coffee)): 3: 4: Demo1 5: 6: 7: 8: 9: app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb___558576499_89622220′ application.html.erb的问题在于: 当我使用Rails 3.0创建应用程序时,这个特定的行是: 这很好用。 事实上,当我将application.html.erb更改为使用时:defaults一切正常,但我想使用Rails 3.1的新function。 我似乎无法在谷歌周围发现任何事情,我想因为Rails 3.1刚刚发布。 顺便说一下,我正在关注使用Rails的Agile Web开发的第一章(第4版)更新为Rails 3.1书。 一些环境信息可能有助于回答这个问题: $ cat /etc/issue Ubuntu 10.04.2 LTS \n \l $ ruby -v ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux] $ […]