草庐IT

symbolize_names

全部标签

ruby - 无法将 Symbol 转换为 String

我有以下Ruby代码,直接取自GettingStartedwithRails指南defcreate@post=Post.new(post_params)@post.saveredirect_to@postendprivatedefpost_paramsparams.require(:post).permit(:title,:text)end当我运行上面的Create时,出现以下错误。can'tconvertSymbolintostring 最佳答案 您似乎正在尝试使用强参数。你得到这个错误cannotconvertsymbolint

ruby-on-rails - Rails 3.1 和 Ruby 1.9.3p125 : ruby-debug19 still crashes with "Symbol not found: _ruby_threadptr_data_type"

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:ruby-debugwithRuby1.9.3?我听说ruby​​1.9.3p125有解决ruby​​-debug19问题的传言,所以根据RVM站点上的说明,我重新安装了1.9.3:$rvmreinstall1.9.3--patchdebug--force-autoconf$ruby-vruby1.9.3p125(2012-02-16revision34643)[x86_64-darwin11.2.0]然后:geminstallruby-debug19将此条目添加到我的Gemfile中:gem'ruby-de

ruby - 如何使 Ruby 的 Find.find 遵循符号链接(symbolic link)?

我有一个文件层次结构,一些子目录是相对符号链接(symboliclink)。我正在使用Ruby'sFind.find爬取这些目录并找到一些特定文件。但是,它不会查看任何作为符号链接(symboliclink)的目录(它跟随作为符号链接(symboliclink)的文件)。查看sourcecode看来问题是因为它正在使用File.lstat(file).directory?来测试某物是否是目录。这对符号链接(symboliclink)返回false但File.stat.directory?返回true。如何让Find.find跟随符号链接(symboliclink),而不是猴子修补它以使

ruby - regexp\k<name+0> 中的 "+0"是什么意思?

我是Ruby中正则表达式的新手,我似乎找不到任何关于\k内容的可靠文档。方法。这是+0我没有得到的部分。这是一个例子——这个正则表达式匹配回文:\A(?(?:(?\w)\g\k|\w))\z当我删除+0在\k它不再正确匹配。我的测试:>>/\A(?(?:(?\w)\g\k|\w))\z/.match"aabbcdcbbaa"#=>#>>/\A(?(?:(?\w)\g\k|\w))\z/.match"aabbcdcbbaa"#=>nil我所做的就是删除+0.我还没有找到任何文档或示例,任何人都可以指出正确的方向吗? 最佳答案 \k与(

Ruby Koans #75 test_constants_become_symbols,正确答案?

我的问题基于这个问题:RubyKoan:Constantsbecomesymbols.我有以下代码:in_ruby_version("mri")doRubyConstant="Whatisthesoundofonehandclapping?"deftest_constants_become_symbolsall_symbols=Symbol.all_symbolsassert_equal__,all_symbols.include?(__)endend正确答案应该是下面的吗?assert_equaltrue,all_symbols.include?("RubyConstant".to_

ruby-on-rails - map(& :name) do in this Ruby code? 是什么意思

为了更好地理解Ruby,我在网上冲浪时遇到了这段代码:require'rubygems'require'activeresource'ActiveResource::Base.logger=Logger.new("#{File.dirname(__FILE__)}/events.log")classEvent"Shortesteventevar!",:starts_at=>1.second.ago,:capacity=>25,:price=>10.00)e.destroy我特别感兴趣的是events.map(&:name)是如何工作的?我看到events是一个数组,因此它调用了它的ma

ruby - 为什么没有更多的项目使用 Ruby Symbols 而不是 Strings?

当我第一次开始阅读和学习ruby​​时,我读到了一些关于ruby​​符号相对于字符串的强大功能:符号只在内存中存储一​​次,而字符串每个字符串在内存中存储一​​次,即使它们是相同的。比如:Rails的paramsHash在Controller中有一堆key作为符号:params[:id]orparams[:title]...但是Sinatra和Jekyll等其他规模适中的项目不会这样做:杰基尔:post.data["title"]orpost.data["tags"]...西纳特拉:params["id"]orparams["title"]...这使得阅读新代码变得有些棘手,并且难以转

ruby 公案 : Constants become symbols

在about_symbols.rbRubyKoan(https://github.com/edgecase/ruby_koans)中,我有以下代码:RubyConstant="Whatisthesoundofonehandclapping?"deftest_constants_become_symbolsall_symbols=Symbol.all_symbolsassert_equaltrue,all_symbols.include?(:"nonexistent")assert_equaltrue,all_symbols.include?(:"Whatisthesoundofoneh

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-on-rails - 知道@vendor.name 后如何使 Ruby on Rails 中的 URL 对 SEO 友好?

我的应用程序在RoR中我有一个名为showsummary的操作/View,其中ID已传递到URL,并且Controller使用它来实例化@vendor,其中@vendor.name是公司的名称。我希望URL是showsummary/1/而不是在URL中包含/vendor-name。我该怎么做? 最佳答案 所有这些解决方案都使用find_by_name,这肯定需要在该列上有一个索引并且要求它们是唯一的。我们使用的一个更好的解决方案是在供应商名称前加上其ID,但牺牲了一点美观。这意味着您不必在名称列上有索引和/或要求唯一性。供应商.rb