Tag: 哈希

如何使用Rails Action Controller嵌套参数来允许特定属性哈希

关于嵌套参数有很多问题,但我似乎无法找到解决我特定的简单情况的问题。 我正在尝试允许不是数组的嵌套哈希。 我希望这可行: params.require(:book).permit(:title, :description, style: {:font, :color}) 但它导致语法错误。 然而,这有效: params.require(:book).permit(:title, :description, style: [:font, :color]) 但我的问题是,它似乎允许style值是具有属性的项目数组:font和:color。 我只想允许具有这2个属性的单个哈希。 我尝试了其他变体,但我不断收到语法错误。 我很感激任何帮助。 上下文:Rails 4.1.7,Ruby 2.0.0(这是我的待办事项列表升级!),而不是使用ActiveRecord。

rails从hash数组中选择最大值

我有一个像这样的哈希数组,我想采取最大的价值 data = [{name: “abc”, value: “10.0”}, {name: “def”, value: “15.0”}, {name: “ghi”, value: “20.0”}, {name: “jkl”, value: “50.0”}, {name: “mno”, value: “30.0”}] 我想选择哈希数组的最大值,我想要的输出就像数据:“50.0” 我怎么可能这样做,我试过这个,但它似乎不起作用,只是给我一个错误 data.select {|x| x.max[‘value’] } 任何帮助将非常感激

带有数组作为属性的Ruby模型

我目前正在尝试实现一个模型来简化图形图表的创建。 但是,其中一个属性必须是属性数组。 例如: “Chart_Series”有一个“名称”,它是一个字符串和一个数据字段,它将由日期分隔,日期是数组[[Date1,Value1],[Date2,Value2],[Date3,Value3]的数组。 目的是创建一个“Chart_Series”数组,以便调用类似于: for series in @chart_series series.name for data in series.data data.[Date, Value] end end 这将做的事情: Name1 Date1, Value1 Date2, Value 2, Date3, Value 3, Date4, Value 4, Name2 Date1, Value 1, Date2, Value 2, Date3, Value 3, Date4, Value 4, 这不完全是所需的代码。我感兴趣的是简单地生成可以做这样的事情的模型。 任何帮助表示赞赏

给出另一个散列的散列,包括有关order方法的信息

我正在使用Ruby on Rails 3.0.7,我想通过返回排序array甚至是新排序的hash考虑预设顺序对hash进行排序。 也就是说,给定以下hash ,例如HASH1(我认为它的值表示从1到4的顺序方法) { :dog => 3, :cat => 2, :pig => 4, :frog => 1 } 我想通过考虑HASH1值中给出的顺序,按键来解释另一个hash ,比如HASH2 { :cat => ‘cat_value’, :dog => ‘dog_value’, :frog => ‘frog_value’, :pig => ‘pig_value’ } 所以,在上面的例子中,我应该输出如下的输出\有序hash : { :frog => ‘frog_value’, # Order indicated by ‘:frog => 1’ in the HASH1 :cat => ‘cat_value’, […]

在Rails 4中动态创建哈希键名

是否可以动态创建哈希的键名? 我传递了以下哈希参数: params[:store][:store_mon_open(5i)] params[:store][:store_mon_closed(5i)] params[:store][:store_tue_open(5i)] params[:store][:store_tue_closed(5i)] . . . params[:store][:store_sun_open(5i)] params[:store][:store_sun_closed(5i)] 要检查每个参数是否存在,我使用两个数组: days_of_week = [:mon, :tue, …, :sun] open_or_closed = [:open, :closed] 但是,我似乎无法弄清楚如何动态创建params散列(第二个键(带数组)。这是我到目前为止所拥有的: days_of_week.each do |day_of_week| open_or_closed.each do |store_status| if !eval(“params[:store][:store_#{day_of_week}_#{store_status}(5i)”).nil [DO SOMETHING] end end end 我尝试了很多东西,包括eval方法(如上所列),但rails似乎不喜欢围绕“5i”的括号。 任何帮助是极大的赞赏!

Rails – Enumerable Group_By多个关联

我想通过他们有许多关系对一组对象进行分组……就像这样 s.inventoryitems.group_by{|i| i.locations} 为了简单起见,这返回给我这样的东西: {[1, 2, 3]=>[“a”], [2]=>[“b”, “c”], []=>[“d”]} 我正在寻找这样的结果: {[1] => [“a”], [2] => [“a”,”b”,”c”], [3] => [“a”], [] => [“d”]} 我正在努力重组事情所以这一切都可以用更直观的DB和模型关联方式完成,但与此同时我需要立即实现这个并且需要用一些Ruby来解决它并且我不确定。 谢谢你的帮助!

Rails 4 – 将地址保存为数据库中的一列

我是rails的新手,也是一个简单的应用程序。 我的ERD中有一个名为Client的模型,并希望保存每个客户端的地址。 我最初的想法是将地址保存为单独的字段,即: rails g model Client address_first:string address_second:string city:string … 但这似乎效率很低。 我确定必须有一种方法来保存地址哈希,数组或者JSON? 我已经阅读过并且人们一直在指使用“序列化”,但我不确定是否以及如何为地址字段实现此function。 非常感激任何的帮助。 谢谢

如何在Rails中设置哈希表单?

我有一些数据与散列中的模型相关联。 哈希值在控制器中生成: @hash 。 为此数据创建表单的正确方法是什么? 我想出了以下代码: 这会生成表单,但它会将每个哈希项创建为表单中的单独变量。 这似乎不是提交数据的正确方法。 我想将数据作为哈希值返回,并使用params[:hash]访问它。 做这个的最好方式是什么? 使用Rails 3.07,Ruby 1.9.2。 谢谢。 编辑:我应该说清楚。 此代码位于为模型生成的表单内。 因此,表单需要提交模型的所有字段,以及上面的哈希。

在Ruby on Rails中为每个用户分配一个唯一的100个字符哈希

我在网站上有一个表格,可以从访客那里获取一些个人信息。 我将此信息传递给另一个服务,我需要为这些表单中的每一个分配一个100字符的唯一哈希值,以便与记录一起存储在DB中。 生成此密钥并确保其唯一的最佳方法是什么? 如果键自动递增也没关系。

如何在rails中的表列中保留哈希值

我对rails很新。 我有一张表,包含所有用户的基本信息,如 用户(id,name,email)现在我试图将这些用户的一些其他信息保存在一个单独的表中 user_details(ID,USER_ID,ADDITIONAL_INFO) 我创建了这个user_details表。 现在我尝试保留一些默认记录以供检查。 如何在additional_info中保留用户附加详细信息的哈希值,就像我的附加详细信息是User_details表的additional_info列中的用户(名称,工资,prjtname)一样。 另外,我必须为User_details表的additional_info列提供什么数据类型 。 请提一些建议..