小编lul*_*ala的帖子

如何确定模型/嵌套模型中的任何字段是否更改?

有没有一些快速的方法可以找出模型的任何字段或其嵌套模型(也称为关联)的任何字段是否发生了变化?

activerecord ruby-on-rails-3

40
推荐指数
3
解决办法
2万
查看次数

将方法应用于array/enumerable中的每个元素

这是我的阵列:

array = [:one,:two,:three]
Run Code Online (Sandbox Code Playgroud)

我想将to_s方法应用于我的所有数组元素array = ['one','two','three'].

我该怎么做(将可枚举的每个元素转换为其他元素)?

ruby arrays enumerable

39
推荐指数
4
解决办法
4万
查看次数

更改form_for rails 3.1生成的html表单id

我有这个form_for:

<%= form_for [post, Comment.new,], :remote => true do |f| %>
<%= f.text_area :content, :cols =>10, :rows => 1%>
<% end %>
<%= f.submit :class => "input_comment"  %>
Run Code Online (Sandbox Code Playgroud)

那会生成下一个代码html:

<form method="post" id="new_comment" data-remote="true" class="new_comment" 
action="/post/4efcda9e1d41c82486000077/comments" accept-charset="UTF-8"><div 
style="margin:0;padding:0;display:inline"><input type="hidden" value="?" name="utf8">
<input type="hidden" value="ctVfDF/O4FIR91I7bC5MVezQmutOCkX3dcXe73uNPZY=" name="authenticity_token">

<textarea rows="1" name="comment[content]" id="comment_content" cols="10"></textarea>
<input type="submit" value="Create Comment" name="commit" class="input_comment">
</form>
Run Code Online (Sandbox Code Playgroud)

如果我在同一页面中有多个表单,则不是具有相同ID的html有效.

  • form_for的id生成id ="new_comment"
  • textarea的id生成id ="comment_content"

在同一页面中有这么多表单是无效的HTML.

如何通过rails 3.1中的form_for方法助手更改id autogenerate?

ruby ruby-on-rails form-for ruby-on-rails-3

38
推荐指数
3
解决办法
4万
查看次数

按ID给出的模型记录按ID数组的顺序查找

我有一个查询来获取特定顺序的人的ID,比如说: ids = [1, 3, 5, 9, 6, 2]

然后,我想要通过获取这些人 Person.find(ids)

但它们总是以数字顺序提取,我通过执行以下方式知道:

people = Person.find(ids).map(&:id)
 => [1, 2, 3, 5, 6, 9]
Run Code Online (Sandbox Code Playgroud)

如何运行此查询以使顺序与ids数组的顺序相同?

我使这个任务变得更加困难,因为我只想执行查询以从给定的ID中获取一次.因此,执行多个查询是不可能的.

我尝试过类似的东西:

ids.each do |i|
  person = people.where('id = ?', i)
Run Code Online (Sandbox Code Playgroud)

但我认为这不起作用.

activerecord ruby-on-rails ruby-on-rails-3

37
推荐指数
9
解决办法
2万
查看次数

简单表单关联自定义标签名称

我一直在努力解决我认为的一个简单问题:

使用simple_form 1.4 gem在Rails 3.0.8中工作.

我有两个模型,所有者和owner_types;

class Owner < ActiveRecord::Base
  belongs_to :own_type
  attr_accessible :name, :own_type_id
end

class OwnerType < ActiveRecord::Base
  has_many :owners
  attr_accessible :name, :subtype_name
end
Run Code Online (Sandbox Code Playgroud)

在我的所有者视图的_form部分中,我希望有一个选择框,显示owner_type关联的名称和子类型名称.
....像这样的东西:所有者类型:[名字| subtype_name]例如.[政府| 联邦]; [政府| 市]

我的视图现在包含:app/views/owners/_form.html.erb

<%= simple_form_for @owner do |f| %>
  <%= f.error_messages %>
  <%= f.input :name %>
  <%= f.association :owner_type, :include_blank => false %>
  <%= f.button :submit %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

... f.association默认只列出owner_type.name字段.你如何指定不同的字段,或者在我的情况下指定两个字段?

所有帮助表示赞赏; 提前致谢.

DJ

ruby-on-rails simple-form

33
推荐指数
2
解决办法
3万
查看次数

获取通用机架应用程序中的有序中间件列表?

我正在寻找的功能类似于rake middlewareRails中的命令,但通用机架应用程序除外.

ruby rake rack middleware

26
推荐指数
2
解决办法
1万
查看次数

Ruby数组要哈希:每个元素都是键,并从中派生出值

我有一个字符串数组,并希望从中得到一个哈希值.数组的每个元素都是键,我想从该键计算值.有没有Ruby方式这样做?

例如:

['a','b'] 转换为 {'a'=>'A','b'=>'B'}

ruby

25
推荐指数
6
解决办法
3万
查看次数

如何从Rails的现有Time.zone创建Ruby DateTime?

我让用户在Ruby on Rails网站上输入日期.我将日期解析为DateTime对象,例如:

date = DateTime.new(params[:year].to_i, params[:month].to_i, params[:day].to_i, params[:hour].to_i, params[:minute].to_i)
Run Code Online (Sandbox Code Playgroud)

要么

date = DateTime.parse(params[:date])
Run Code Online (Sandbox Code Playgroud)

两个DateTimes都不会出现在我之前设置的用户的时区中,例如:

Time.zone = "Pacific Time (US & Canada)"
Run Code Online (Sandbox Code Playgroud)

如何解析上面的DateTimes以使其处于正确的时区?我知道该DateTime.new方法的时间偏移量为第7个参数.是否有一种简单的方法可以在给定时间内查找时区的偏移量?或者我应该使用其他东西DateTime

ruby timezone datetime ruby-on-rails ruby-on-rails-3.2

25
推荐指数
4
解决办法
4万
查看次数

Rails:在时区中获得#beginning_of_day

我有一个rails应用程序的默认时区设置.和Date对象的一个​​实例.

如何让Date#beginning_of_day返回指定时区内的一天的开头,而不是我当地的时区.

是否有其他方法可以在给定日期的指定时区内开始白天时间?

date = Date.new(2014,10,29)

zone = ActiveSupport::TimeZone.new('CET')
date.foo(zone) # should return "Wed, 29 Oct 2014 00:00:00 CET +01:00"

zone = ActiveSupport::TimeZone.new('UTC')
date.foo(zone) # should return "Wed, 29 Oct 2014 00:00:00 UTC +00:00"
Run Code Online (Sandbox Code Playgroud)

timezone ruby-on-rails date activesupport ruby-on-rails-2

21
推荐指数
4
解决办法
3万
查看次数

在Rails 2应用程序中使用ssl_requirement强制SSL

我有一个需要在SSL下运行的Rails应用程序.我尝试了ssl_requirement,但似乎我必须输入每个控制器中的所有操作.

是否有任何方法可以在应用程序控制器中使用ssl_requirement添加before_filter,以便当用户请求在http时,应用程序将自动重定向到https?

谢谢大家.:)

ssl ruby-on-rails ruby-on-rails-2

20
推荐指数
2
解决办法
1万
查看次数