标签: dynamic-attributes

Rails find_or_create_by多个属性?

在活动记录中有一个名为find_or_create_by的方便动态属性:

Model.find_or_create_by_<attribute>(:<attribute> => "")

但是,如果我需要通过多个属性find_or_create呢?

假设我有一个模型来处理Group和Member之间的M:M关系,称为GroupMember.我可以有很多实例,其中member_id = 4,但我不想要多于一次的实例,其中member_id = 4和group_id = 7.我正在试图弄清楚是否可以这样做:

GroupMember.find_or_create(:member_id => 4, :group_id => 7)
Run Code Online (Sandbox Code Playgroud)

我意识到可能有更好的方法来处理这个问题,但我喜欢find_or_create这个想法的便利性.

activerecord many-to-many model ruby-on-rails dynamic-attributes

199
推荐指数
5
解决办法
10万
查看次数

使用Rails和Mongoid的动态属性

我正在通过带有Rails(Rails 3 beta 3)的Mongoid Ruby gem学习MongoDB,我正试图想出一种基于另一个模型的字段在模型上创建动态属性的方法,我认为这是一种模式 - 少数据库将是一个不错的选择.

例如,我有模型:

class Account
  include Mongoid::Document

  field :name, :type => String
  field :token, :type => String
  field :info_needed, :type => Array

  embeds_many :members
end

class Member
  include Mongoid::Document

  embedded_in :account, :inverse_of => :members

end
Run Code Online (Sandbox Code Playgroud)

我希望获取Account模型的"info_needed"属性,并根据内部的内容在Member模型上创建动态属性.如果club.info_needed是["first_name","last_name"],我正在尝试创建一个将first_name和last_name属性保存到Member模型的表单.

但是,在练习时,我只是在尝试执行此操作时不断在成员模型上获得"undefined method first_name ="错误.我知道MongoDB可以处理每个记录的动态属性,但是如何在没有未定义的方法错误的情况下让Mongoid执行此操作?

ruby-on-rails dynamic-attributes mongodb mongoid

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

getattr()与dict查找,哪个更快?

一个有点无趣,最佳实践的问题.我object.__dict__[some_key]根据习惯动态查找对象属性值.现在我想知道哪个更好/更快:我目前的习惯还是getattr(object,some_key).如果一个更好,为什么?

>>> class SomeObject:
...     pass
... 
>>> so = SomeObject()
>>> so.name = 'an_object'
>>> getattr(so,'name')
'an_object'
>>> so.__dict__['name']
'an_object'
Run Code Online (Sandbox Code Playgroud)

python performance dynamic-attributes getattr

10
推荐指数
1
解决办法
3908
查看次数

如何设置动态属性

有没有办法将col设置为动态或以某种方式将其转换为有效属性?它目前正在抛出错误:未定义的方法`col ='表示#...

def copy_stock_data_from_sandbox(cntrlr)
  source_table = cntrlr.singularize.classify.constantize
  dest_table = source_table.new
  source_table.column_names.each do |col|
    dest_table.col = xyz    # <------ This is the line in question
  end
  dest_table.save
end
Run Code Online (Sandbox Code Playgroud)

此外,不确定标题是否准确,请建议"动态属性"是否适用于这种情况.谢谢

ruby ruby-on-rails dynamic-attributes

7
推荐指数
2
解决办法
3662
查看次数

使用Rails中缺少的方法

我有一个具有多个日期属性的模型.我希望能够设置和获取值作为字符串.我过度使用其中一个方法(bill_date),如下所示:

  def bill_date_human
    date = self.bill_date || Date.today
    date.strftime('%b %d, %Y')
  end
  def bill_date_human=(date_string)
    self.bill_date = Date.strptime(date_string, '%b %d, %Y')
  end
Run Code Online (Sandbox Code Playgroud)

这对我的需求很有帮助,但我想对其他几个日期属性做同样的事情...我如何利用方法缺失,以便可以设置/得到任何日期属性?

activerecord overriding ruby-on-rails method-missing dynamic-attributes

5
推荐指数
2
解决办法
4564
查看次数

如何在JSP标记文件中使动态属性起作用?

所以根据我的JSP参考书,以及我可以在网上找到的所有其他参考,我应该能够做类似的事情:

<%@ tag dynamic-attributes="dynamicAttributesVar" %>
Run Code Online (Sandbox Code Playgroud)

然后当有人使用我没有在属性指令中定义的属性时,我应该能够从"dynamicAttributesVar"映射访问该属性:

<%= dynamicAttributesVar.get("someUnexpectedAttribute") %>
Run Code Online (Sandbox Code Playgroud)

但是,这根本不起作用; 我尝试时只得到"dynamicAttributesVar无法解析"错误.

现在,我确实发现(通过查看生成的标记的Java类),我可以通过执行以下操作来"破解"正在运行的动态属性变量:

<% Map dynamicAttributesVar = _jspx_dynamic_attrs; %>
Run Code Online (Sandbox Code Playgroud)

现在,除非我在tag指令中使用dynamic-attributes参数,否则该hack不起作用,所以看起来该参数正在做某事.

但我想知道的是,我怎样才能让它为其他每个JSP用户做它做的事情呢?

java tags jsp dynamic-attributes

3
推荐指数
1
解决办法
5998
查看次数

通过清除src属性,使用jquery动态删除图像

我知道可以使用动态加载图像

$("#id").attr("src","path of the image"),
Run Code Online (Sandbox Code Playgroud)

但要在特定事件上载入特定图像,

$("id").attr("src","")
Run Code Online (Sandbox Code Playgroud)

不起作用.

使用jquery卸载映像运行时的​​正确方法是什么?

我无法更改图像的显示或可见性属性,我需要加载它卸载它.

jquery dynamic-attributes loading-image

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