你会如何整理这个控制器逻辑?

我在控制器中有一些逻辑,如果满足某些条件,则设置对象的状态: if params[:concept][:consulted_legal] == 0 && params[:concept][:consulted_marketing] == 1 @concept.attributes = {:status => ‘Awaiting Compliance Approval’} elsif params[:concept][:consulted_marketing] == 0 && params[:concept][:consulted_legal] == 1 @concept.attributes = {:status => ‘Awaiting Marketing Approval’} elsif params[:concept][:consulted_marketing] == 0 && params[:concept][:consulted_legal] == 0 @concept.attributes = {:status => ‘Awaiting Marketing & Legal Approval’} else @concept.attributes = {:status => ‘Pending Approval’} […]

Ruby的put和write方法有什么区别?

有什么区别…… File.open(‘abc’, ‘w’) { |f| f.puts ‘abcde’ } …和… File.open(‘abc’, ‘w’) { |f| f.write ‘abcde’ } …?

可以使用耙子任务进行spork工作吗?

Rake任务遇到与运行测试相同的问题:Rails启动过程在任务运行之前需要很长时间。 有没有办法将spork和rake整合在一起?

如何使用autocomplete_field_tag传递params ?

我正在使用Crowdint rails3 jquery自动完成function并且我的搜索表单有问题。 这是我的search表单看起来没有自动完成的方式: ‘get’ do %> “Search for a Product…..”, :id => “main-search-field” %> nil, :id => “main-search-field-button” %> 现在,当我更改表单以进行自动完成和搜索时: ‘get’ do %> “Search for a Product…..”, :id => “main-search-field” %> nil, :id => “main-search-field-button” %> 如果我在autocomplete_field_tag有params[:search] ,这将无效: ActionView::Template::Error (wrong number of arguments (5 for 4)) 如何设置搜索参数,以便实际使用自动完成function进行搜索? 更多信息: class SearchController true # Sunspot search. […]

带erb的YAML没有解析

为什么这个yaml文件不会解析? — sensor: id: title: unit: “” valid_min: valid_max: codename: scale_base_ten_exponent: 这个文件用于我的测试中的灯具,它是由fixpec目录中的rspec加载的。 当我尝试它时,我得到:“在第4行第28列(Psych :: SyntaxError)的此上下文中不允许映射值”

帮助在Ruby on Rails中对记录进行排序

我有一个包含两列的分数表: user_id和score user_id得分 1 200 1 120 1 230 2 300 2 345 3 100 3 40 4 350 4 500 …… Score.order(‘score DESC’).limit(3)列出前3个得分。 相反,我如何获得前3个分数,其中每个用户只获得列表中的一个位置(他们的最高分)。 上表中的高分将是: user_id:4分:500 user_id:2得分:345 user_id:1得分:230 谢谢! 蒂姆

修改Devise重置密码错误文本

使用Devise GEM,当重置用户密码时,可以设置新密码。 如果输入的密码不匹配或密码太短,则会收到默认消息: •密码与确认不符 •密码太短(最少8个字符) 我如何/在哪里更改这些错误消息的文本?

Ruby中单引号到双引号的智能转换

问题 在源文件中,我有大量的strings.ome有插值,有些有特殊符号,有些没有。 我试图解决,如果我可以用双引号替换单引号,同时转换转义的单引号字符。 然后我会在一个或多个源代码文件上运行此转换。 示例 – 代码 想象一下以下代码: def myfunc(var, var2 = ‘abc’) s = ‘something’ puts ‘a simple string’ puts ‘string with an escaped quote \’ in it’ x = “nasty #{interpolated}” + s + ‘ and single quote combo’ puts “my #{var}” end 示例 – 结果 我想把它变成这样: def myfunc(var, var2 = “abc”) s […]

如何判断rspec在没有挂起测试输出的情况下运行?

有没有办法(可能是一些关键)告诉rspec跳过挂起的测试并且不打印有关它们的信息? 我有一些自动生成的测试 pending “add some examples to (or delete) #{__FILE__}” 我运行“bundle exec rspec spec / models –format documentation”并得到这样的东西: Rating allows to rate first time disallow to rate book twice Customer add some examples to (or delete) /home/richelieu/Code/first_model/spec/models/customer_spec.rb (PENDING: No reason given) Category add some examples to (or delete) /home/richelieu/Code/first_model/spec/models/category_spec.rb (PENDING: No reason given) …… 我想保留这些文件,因为我稍后会更改它们,但是现在我想输出如下: […]

Rails – 如何从lib目录中调用方法?

我在lib目录中有这个方法(文件my_class_name.rb ): class MyClassName def doSomething … end … end 在控制器中: class UsersController < ApplicationController require 'my_class_name' def show_stats ::MyClassName.doSomething() end end 回报 MyClassName的未定义方法`doSomething’:Class 如何正确调用此方法?