草庐IT

act_name

全部标签

ruby-on-rails - Rails 的 act_as 背后的基本概念是什么?

我好像找不到这个问题的答案,我有点看到它通过实现做了什么,但不理解它的意义.. 最佳答案 YehudaKatz有一个niceexplanationacts_as插件模式的定义以及为什么它通常以不必要的复杂方式实现。 关于ruby-on-rails-Rails的act_as背后的基本概念是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1811090/

ruby - 混合模块中的 self.class.name

我有一个模块,其中包含写入日志的方法。在每条消息中,我想放入记录这条消息的类的名称。模块可以混合使用include或extend。我需要我的日志在每种情况下都有正确的类名。精炼代码:moduleMdeffself.class.nameendendclassCextendMincludeMendpC.f#=>"Class"pC.new.f#=>"C"如您所见,第一个调用错误地打印了"Class"。我也希望它是"C"。如何实现? 最佳答案 无需求助于钩子(Hook),当self是Class/Module时,只需更改您的行为:module

ruby - 是{ 'symbol name' : "some value" } valid Ruby 2 syntax for Hashes?

TL;DR——问题{'symbolname':5}和{"symbolname":5}是否有效且定义明确的Ruby2哈希语法?6种哈希符号,其中2种未知在Ruby2中,以下Hash文字符号是等效的:{:my_key=>5}{my_key:5}{:'my_key'=>5}{:"my_key"=>5}第一行是通用的哈希文字表示法(也适用于非符号键),键使用默认的符号文字表示法。第二行是Ruby2引入的新的简写符号Ruby1.9用于以符号为键的哈希。第三行同样是通用的Hash字面量表示法,键带有替代的Symbol字面量表示法。(如果您需要在符号名称中包含空格或其他花哨的字符,则此替代符号文字表

ruby - state_machine ruby​​ gem 中状态的 human_name

我使用gemstate_machine-Official每个州都可以有“人名”。通过我尝试过的文档和API:在my_model.rb中state_machine:initial=>:newdostate:new,:human_name=>'Addedandnotaccepted'...在my_view.haml中%p=MyModel.human_state_name(@item.state_name)%p=@item.human_state_name两种变体都只返回"new"而不是“已添加但未接受”。我该做什么?我在设置human_name或获取human_name时出错了吗?更新工作

ruby - Rails acts_as_paranoid 和 has_many :through

所以我正在使用rails3_acts_as_paranoidgem,并且在使用has_many:throughassociations控制范围时遇到了一些问题。例如#User.rbacts_as_paranoidhas_many:foldershas_many:files,:through=>:folders-#Folder.rbacts_as_paranoidbelongs_to:userhas_many:files,:dependent=>:destroy-#File.rbacts_as_paranoidbelongs_to:files现在让我们在users_controller.

ruby-on-rails - 如果 action_name Rails

例如,我正在使用ifaction_name来定义布局layout:layout_by_action_namedeflayout_by_action_nameifaction_name=='new'"layout_file"else"application"endend如何使用new添加另一个操作名称,例如edit。我试过:layout:layout_by_action_namedeflayout_by_action_nameifaction_name=='new'&&'edit'"layout_file"else"application"endend但它不起作用。有什么想法吗?

ruby-on-rails - 第 80 行的重复键被忽略 : "name" rvm

这似乎没有影响任何东西,它只是在我的终端上令人恼火-我经常收到以下警告(有时我收到多个警告,调用不同的线路,有时/gem/之后的路径会有所不同,但除了那,这是输出:/Users/alecwilson/.rvm/gems/ruby-2.2.1/gems/fog-1.23.0/lib/fog/rackspace/mock_data.rb:42:warning:duplicatedkeyatline80ignored:"name"捆绑和运行时最常见raketest.关于如何解决它的任何想法?我通常非常谨慎地编辑我的.rvm目录中的文件,因为我以前确实把它搞砸了,而且有时仍然会收到关于我的PA

java - 命名 : Why should named constants be all uppercase in C++/Java?

我知道,对于C++和Java,这是一个完善的命名约定,常量应该全部大写,用下划线分隔单词。像这样(Java示例):publicfinalstaticColorBACKGROUND_COLOR=Color.WHITE;publicfinalstaticColorTEXT_COLOR=Color.BLACK;这个命名约定很容易理解和遵循,但我问自己,为什么选择这个命名约定而不是变量的正常命名约定:publicfinalstaticColorbackgroundColor=COLOR.WHITE;publicfinalstaticColortextColor=COLOR.BLACK;似乎没有

java - 命名 : Why should named constants be all uppercase in C++/Java?

我知道,对于C++和Java,这是一个完善的命名约定,常量应该全部大写,用下划线分隔单词。像这样(Java示例):publicfinalstaticColorBACKGROUND_COLOR=Color.WHITE;publicfinalstaticColorTEXT_COLOR=Color.BLACK;这个命名约定很容易理解和遵循,但我问自己,为什么选择这个命名约定而不是变量的正常命名约定:publicfinalstaticColorbackgroundColor=COLOR.WHITE;publicfinalstaticColortextColor=COLOR.BLACK;似乎没有

c++ - 错误 : macro names must be identifiers using #ifdef 0

我有一个用C++编写的应用程序的源代码,我只想用以下方式评论一些东西:#ifdef0...#endif我得到了这个错误error:macronamesmustbeidentifiers为什么会这样? 最佳答案 #ifdef指令用于检查是否定义了预处理器符号。标准(C116.4.2标识符)规定标识符不得以数字开头:identifier:identifier-nondigitidentifieridentifier-nondigitidentifierdigitidentifier-nondigit:nondigituniversal-