草庐IT

dynamic-properties

全部标签

ruby - @property 或 self.property 使用访问器设置属性?

哪个是更好的做法;通过@property或self.property使用访问器操作属性? 最佳答案 如果您只是使用直接访问器,那么请坚持使用@property(除非您来自Python并且被@sigilhehe关闭)否则:这完全取决于您。但是self.property在某些需要确保属性已初始设置的情况下很有用:defproperty@property||=[]end#don'tneedtocheckif@propertyis`nil`firstself.property另请注意,在@property上使用self.property会产

ruby-on-rails - Rails 查询 : Filter by properties in another table

我正在寻找一个清晰的Rails4示例,说明如何根据通过另一个表关联的数据过滤记录。假设我有一个用户模型和一个评论模型。一个用户has_many评论,一个Commentbelongs_to一个用户。评论在其表中也有一个score列。classUserUsers|id|name|email||-----|---------|---------------------||1|"Alice"|"alice@example.com"||2|"Bob"|"bob@example.com"||...|classComment我如何获得所有对内容“k”发表评论且分数>0的用户?请注意,我要返回的是用户

ruby-on-rails - rails 3/ActiveRecord : How to switch/change table name during request dynamically?

我想在请求期间动态更改ActiveRecord模型类的表名。例如,有许多具有相似结构(列)的表:mydb:sample_data_12222sample_data_12223sample_data_12224sample_data_12225...所以,我想做的是..._1。定义基本模型类,如:classSampleData_2。在请求期间更改目标表,例如:defaction_methodSampleData.set_table_name"sample_data_#{params[:id]}"@rows=SampleData.all如果在非线程环境(如Passenger/mod_rai

ruby-on-rails - 仅当该表尚未加入时才可以加入 "dynamically"表吗?

我正在使用RubyonRails3.2.2,我想知道在范围方法中是否可以“动态”连接一个表,前提是该表尚未连接。那它,我有:defself.scope_method_name(user)joins(:joining_association_name).where("joining_table_name.user_id=?",user.id)end我想做如下的东西:#Note:thefollowingcodeisjustasampleinordertounderstandwhatImean.defself.scope_method_name(user)iftable_is_joined?

ruby-on-rails - :autosave property of has_many associations broken in Rails 2. 3.4?

在我将此作为错误发布给Rails团队之前,我想看看我是否做错了可能导致此行为的事情。具体来说,has_many关联的:autosave属性似乎没有按照文档工作。作为引用,这里是最新的API文档:http://api.rubyonrails.org/classes/Acti...ation.html查看“一对多示例”部分。我已经在测试应用程序中完全复制了代码,但它对我不起作用。具体来说,更新父对象,但不更新子对象。我的架构如下:create_table:postsdo|t|t.string:titlet.timestampsendcreate_table:commentsdo|t|t.t

ruby-on-rails - rails : dynamic columns/attributes on models?

我有一个SaaS应用程序,帐户想要在用户模型上保存不同类型的信息。因此,例如,一个帐户可能想要保存年龄和生日,但在另一个帐户中,他们不会使用这些列,而是想要保存头发颜色和高度的信息。这些只是示例,但我将如何构建我的模型和数据库,以便它可以很好地处理“自定义的、动态的”列,而不会创建太多空属性。 最佳答案 这里有两个选项。1.NoSQL数据库。2.Rails4Store功能。 关于ruby-on-rails-rails:dynamiccolumns/attributesonmodels?,

ruby-on-rails - Rails Brakeman 警告 : Dynamic Render Path false alarm?

我刚刚开始使用Rails,所以我使用Brakeman了解我的新手代码中的潜在漏洞。它在我的show.js.erb文件中抛出关于以下代码的高置信度“动态渲染路径”警告:$('#media-fragment').html('');我实际上预料到这是一个问题,所以不足为奇。所以我将其更改为以下内容:#controller:defshowiflegal_partial?@allowed_partial=params[:partial]elseraiseStandardError,"unexpectedpartialrequest:#{params[:partial]}"endendprivat

ruby-on-rails - rails : dynamically define class method based on parent class name within module/concern

我想根据包含此Mixin的类名在Mixin中动态生成一个类方法。这是我当前的代码:moduleMyModuleextendActiveSupport::Concern#defsome_methods#...#endmoduleClassMethods#HereiswhereI'mstuck...define_method"#{self.name.downcase}_status"do#dosomething...endendendclassMyClass但这给了我以下方法名称:MyClass.mymodule::classmethods_status在方法定义中获取基类名称是可行的(s

ruby - 是否可以让 class.property = x 返回 x 以外的东西?

假设我有一个Ruby类:classMyClassdefself.propertyreturn"someVal"enddefself.property=(newVal)#dosomethingtoset"property"success=truereturnsuccess#successisabooleanendend如果我尝试执行MyClass.property=x,整个语句的返回值始终是x。许多基于C/受启发的语言都习惯于返回bool“成功”值-是否可以使用Ruby中的“等于语法”为setter执行此操作?此外-如果这不可能,为什么不呢?允许“equalssetter”操作返回一个值

ruby-on-rails - 如何设置 "dynamically"变量值?

我正在使用RubyonRails3.0.9,我正在尝试“动态”设置一些变量值。那就是……...在我的模型文件中我有:attr_accessor:variable1,:variable2,:variable3#The'attributes'argumentcontainsoneormoresymbolswhichnameisequalto#oneormoreofthe'attr_accessor'symbols.defset_variables(*attributes)#HereIshouldsetto'true'all":variable"attributespassedassymbo