Tag: ruby on rails 3

在Rails4中添加子类别

我有很多主要类别,并希望添加到每个子类别.-> 主要类别 – 子类别 – 子类别 – 子类别 主要类别 – 子类别 – 子类别 – 子类别 很多人建议我使用gem,但由于我对Rails相当新,我宁愿自己学习如何做到这一点,也要学习他们所有的方法。 我应该从Scaffold还是仅仅是Model ? 有人可以解释我如何开始(迁移等)以及如何设置它? 谢谢。

“rake”运行我所有的Cucumber测试都很好,但“黄瓜”没有步骤

我inheritance了一个Rails(3)应用程序,并试图掌握现有的Cucumber测试。 我在应用程序的’features’文件夹中有以下设置(我错过了任何不相关的文件,例如额外的function和步骤) /features /people new-person.feature /step_definitions people_steps.rb web_steps.rb /support env.rb paths.rb selectors.rb 如果我运行’rake’,它会运行features / people / new-person.feature中的所有function,正确使用step_definitions中列出的步骤。 但是,我不想每次都运行rake因为它需要太长时间,我只想在Cucumber中运行特定的测试,例如cucumber features/people/new-person.feature -l 8 当我这样做时,它运行该function但尚未加载步骤。 我得到了回复: Using the default profile… Feature: Add a new person In order to allocate tasks to people As a community manager I want to add a new person Scenario: Secondary navigation should contain […]

如何存储新用户的推荐位置? 使用Rails + Devise

我有一个使用设计的rails应用程序。 我很想知道,在User表中是否有可能以某种方式跟踪新用户来自哪里,HTTP引用者? 我想知道哪些来自Facebook,Twitter,LinkedIn,Google+以跟踪病毒循环。 有任何想法吗? 看到有人这样做吗? 可能? 它应该放在rails应用程序中的哪个位置? 还是很新的。 谢谢

如何从JBuilder视图委托模型的to_builder方法?

假设我有一个Person类和一个Gang类 class Person belongs_to :gang attr_accessible :name, :secret def to_builder Jbuilder.new do |app| person.id id person.name name end end end class Gang has_many :people attr_accessible :name end 如何从视图中使用此to_builder方法? 例如 #app/views/gang/show.json.jbuilder (@gang set by the controller) json.gang do |json| json.name @gang.name json.gang_members(@gang.people) do |person| #how do I delegate to the person.to_builder here? end end 请注意,我不想只使用默认的Person.as_json,因为我不想在Person上呈现secret属性。 我尝试过的大部分内容最终都是渲染了Person.as_json,而不是Person.to_builder。

Ruby roo LoadError:无法加载此类文件 – 电子表格/注释

尝试加载xls文件并获取此错误。 有控制台日志: irb(main):001:0> require ‘roo’ => true irb(main):002:0> a = Roo::Excel.new(‘/home/a.xls’) LoadError: cannot load such file — spreadsheet/note from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require’ from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require’ from /var/lib/gems/1.9.1/gems/spreadsheet-0.9.2/lib/spreadsheet/excel/reader.rb:5:in `’ from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require’ from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require’ from /var/lib/gems/1.9.1/gems/spreadsheet-0.9.2/lib/spreadsheet.rb:28:in `’ from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require’ from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require’ from /var/lib/gems/1.9.1/gems/roo-1.12.2/lib/roo/excel.rb:1:in `’ from (irb):2 from /usr/bin/irb:12:in `’ 请帮忙解决这个问题 此外,当我尝试需要电子表格时,我得到相同的错误 require ‘spreadsheet’ 但是这个模块是安装的 […]

Rails 3中的config.logger和config.paths.log

尝试启动服务器时出现此错误。 logger.rb:541:in `exist?’: can’t convert Rails::Paths::Path into String (TypeError) 这是我的development.rb中的代码。 require ‘log_formatter’ config.logger = Logger.new(config.paths.log.first) config.logger.formatter = LogFormatter.new config.logger.level = Logger::DEBUG 我试过添加.to_s,但是没用。 谷歌也没有帮助。

使用传递变量从rails上的ruby执行shell脚本

我试图将韵律xmpp服务器与我的rails应用程序集成。 我需要在注册时在数据库中创建一些用户,这样我才能在韵律服务器中使用它们。 在rails中运行shell命令并输出任何信息日志的最佳方法是什么? prosodyctl adduser User.username

在REST JSON结果中包含has_many结果

我有一个名为List的模型has_many :entries 。 像往常一样,Rails 3为List生成了这个show方法 def show @list = List.find(params[:id]) respond_to do |format| format.html # show.html.erb format.json { render json: @list } end end 如何更改format.json以包含json响应中@list的entries结果? 我知道我可以将@list转换为Hash,将.entries的哈希值添加到那个,然后渲染哈希,但我怀疑Rails有更优雅的技巧。

Haml -Illegal nesting:在纯文本中嵌套是非法的

我在使用HAML时我的代码中遇到了一个奇怪的错误,我的代码在我的本地机器上运行,但是当我部署它时,我收到以下错误 ActionView :: Template :: Error(非法嵌套:在纯文本中嵌套是非法的。): 我的代码看起来像这样 %td{ :style => ‘width:10px’ } = link_to(‘Dashboard’, dashboard_admin_clients_account_path(client)) if client.is_member? = link_to(‘Edit’, edit_admin_clients_account_path(client)) – if client.removed_at.nil? = link_to(‘Delete’, admin_clients_account_path(client), :method => :delete, :confirm => ‘Are you sure you want to delete’) – else = link_to(‘Restore’, restore_admin_clients_account_path(client)) 我是HAML的新手

如何通过ActiveRecord行结果中的属性名称访问字段?

显然我在这里遗漏了一些明显的东西,但是会很欣赏一个简单的例子。 我从ActiveRecord回来了一条记录,我从查询中选择了几列。 这些字段是BigDecimal格式,需要展平为字符串。 我最初认为用以下方法提取查询就足够了: rows = ModelName.order(“date DESC”).select(‘table_name.precise_number1, table_name.precise_number2’).limit(100).all.zip rows_stringified1 = Array.new rows_stringified2 = Array.new readings.each do |row| rows_stringified1.push row[:precise_number1].to_s rows_stringified2.push row[:precise_number2].to_s end 但是,这会产生错误,例如can’t convert Symbol into Integer 。 显然,我没有完全遵循如何从行集结果中的记录访问列。 你通常会怎么做?