Tag: ruby on rails 3

如何在不重新创建的情况下更改脚手架的名称?

我创建了一个脚手架“示例”,并对其控制器和视图进行了许多更改。 现在我想将它重命名为“sample”, 有没有什么方法可以不破坏任何东西 ? 手动编辑控制器,模型,视图和迁移文件将很困难,所以我希望可能有一些东西可以缓解这个问题。

在rails和wordpress之间共享会话数据

我有两个网络应用程序在运行。 一个是rails应用程序,它是应用程序的牛肉,另一个是wordpress应用程序(用于在线商店)。 我的挑战是在两个应用程序之间共享登录数据/会话数据。 因此,如果我登录rails应用程序,然后单击购物选项卡,如何将用户会话转移到wordpress站点? 反之亦然。 如果我在wordpress网站上购物,并想登录购买商品,我如何通过rails应用程序登录? 我相信在插件上有单点登录可以实现这一点,但我没有找到任何具体的如何实现这一点。 由于某些原因,wordpress在周围发展非常可怕:(。

如何在轨道部分渲染sass?

我有一个Rails 3.2应用程序。 我试图在部分中渲染处理过的sass代码。 我添加了一个初始化程序来处理scss文件: ActionView::Template.register_template_handler :scss, Sass::Rails::ScssTemplate 我的sass文件名为_style.scss,渲染调用如下所示: 我收到以下错误: undefined method `call’ for Sass::Rails::ScssTemplate:Class 对我来说,这看起来像Rails不知道如何处理Sass文件,但是,我的application.css文件中包含的任何.scss文件都被正确处理,因此,至少在该上下文中,我知道sass处理工作。 我尝试了不同的扩展和格式。 在某些情况下,我可以获取渲染视图,但不处理sass。

Rails 3:如何防止我的validation从time_select下拉菜单中传递“nil time”?

我使用time_select和提示(“选择小时”……)并且想确保用户实际输入有效时间。 但是如果在没有选择时间的情况下提交表单(因此选择了空提示选项),我的validation不会出现任何错误。 我的validation: validates :start_time, :presence => true, :allow_nil => false, :allow_blank => false 原因是rails将time_select字段的输入自动转换为此日期,当它们为空时: 0001-01-01 00:00:00 有没有一种很好的方法可以防止这种情况发生? 谢谢!

在回调Rails 3中更新属性

继这个问题之后 ,我花了一天时间尝试将累计运行销售总额添加到我的销售表中。 这对我来说有点棘手(因为我想要),因为我希望isbn_id相同的销售总额,并且在该集合中,记录channel_id相同的位置 – 按invoice_date排名。 这就是我可以计算特定销售单位范围内的特许权使用费。 这是我的非工作回调代码,在Sale模型中: before_save :runningtotal private def runningtotal @sale = Sale.order(“invoice_date ASC”) @lastbal = @sale.find_all_by_isbn_id(@isbn).group_by(&:channel) #that sucessfully gets all sales ranked by date ascending, then groups them by channel, just for the current isbn. @lastbal.each do |channel, sale| sale.each_with_index do |sale, i| previous_sale = sale[i-1] unless i==0 next unless previous_sale @total_quantity […]

Rails找不到已安装的gem

我正在关注专门要求4.2.0版本的Rails教程,所以我安装了带有sudo gem install rails -v 4.2.0 Rails,它运行正常。 当我尝试使用rails _4.2.0 new test_app创建一个新的应用程序时,我收到一条错误消息,上面写着/Library/Ruby/Site/2.0.0/rubygems/dependency.rb.315: in ‘to_specs’: Could not find ‘railties’ (=4.2.0) – did find: [railties-4.2.1] (Gem::LoadError)并继续进行一点点。 我已经尝试使用sudo gem install railties -v 4.2.0安装特定版本的railties ,但我仍然得到相同的错误。 是在两个不同的地方检查/安装gem? 编辑:运行gem list产生以下输出,清楚地显示railties (4.2.0) : *** LOCAL GEMS *** actionmailer (4.2.0) actionpack (4.2.1, 4.2.0) actionview (4.2.1, 4.2.0) activejob (4.2.1, 4.2.0) activemodel (4.2.0) activerecord (4.2.0) activesupport […]

ruby on rails PIK gemset就像RVM gemset一样?

我和RVM一起工作过,我可以获得gemset和东西,但是没有办法用PIK获得它? 任何的想法? 我试着找一个解决方案,却找不到一个。 希望有人对这个问题有任何线索吗? 谢谢!

Ruby on Rails 3 – 序列化数组不匹配的类障碍

嘿那里,我对Rails 3.0.5和Ruby 1.9.2中的序列化不匹配问题感到困惑。 我使用Array的子​​类为数据库播种,然后尝试保存到ActiveRecord对象。 谁能帮帮我吗? 我最初尝试序列化为Graph,但将其缩减为Array以避免自定义类的错误。 我很难过,因为这对我来说没有直觉意义。 非常感谢您的帮助! class Graph < Array .. class Settings < ActiveRecord::Base serialize :graphs, Array .. 在seeds.rb中最后一行 – 例如之后没有任何事情发生。 为了调试目的,只需节省很多: sh_1g = sh_1g.to_a d.company.settings.add_graph(sh_1g.to_a) d.company.settings.save! d.company.save! d.save! if sh_1g == d.company.settings.graphs[0] puts “the added graph matches the first graph in the graphs array” end puts “added ” + sh_1g.inspect + […]

Rails国际化帮助

我已经下载了丹麦语语言环境(da.yml)并将其放在config / locales中 我收到此错误:无法在第20行第14列解析YAML 与Rails 3简单forms错误的简单forms相同的错误是:无法解析YAML 我的application.rb: require File.expand_path(‘../boot’, __FILE__) require ‘rails/all’ # If you have a Gemfile, require the gems listed there, including any gems # you’ve limited to :test, :development, or :production. Bundler.require(:default, Rails.env) if defined?(Bundler) module App class Application < Rails::Application # Settings in config/environments/* take precedence over those specified here. # […]

与ORDER结合使用时DISTINCT的问题

我正在尝试建立一个网站,为特定事件中的一些运动员排名表现 – 我之前发布了一个问题,收到了一些好的回答,我现在可以确定我的代码的关键问题。 我有2个模型 – Athlete和Result (运动员有很多结果) 每个运动员都可以记录特定赛事的一些时间,我想确定每个运动员最快的时间,并在所有运动员中排列这些最快的时间。 我使用以下代码: params[:justevent]).joins(:athlete).order(‘performance_time_hours ASC’).order(‘performance_time_mins ASC’).order(‘performance_time_secs ASC’).order(‘performance_time_msecs ASC’) %> 这成功地对所有运动员的所有结果进行排序(即一名运动员可以根据他们记录的时间在不同的地方出现多次)。 我现在希望为每位运动员取出最佳成绩,并将其纳入排名。 我可以使用以下方法选择与最佳结果相对应的时间: params[:justevent]).where(:athlete_id => filtered_name.athlete_id).order(‘performance_time_hours ASC’).order(‘performance_time_mins ASC’).order(‘performance_time_secs ASC’).order(‘performance_time_msecs ASC’).first() %> 但是,当我尝试识别@filtered_names列出的不同运动员名字时,我的问题出现了。 我尝试使用但这并不像我预期的那样,有时它会以错误的顺序排名。 我发现,因为它代表我的代码基本上寻找不同的运动员结果之间的差异,从小时时间开始到进展到分钟,秒和毫秒。 一旦发现每个不同运动员的结果之间存在差异,它就会相应地命令它们。 例如,如果我有2名运动员: Time for Athlete 1 = 0:0:10:5 Time for Athlete 2 = 0:0:10:3 这将产生命令,运动员2,运动员1 但是,如果我有: Time for Athlete 1 = 0:0:10:5 Time for Athlete 2 […]