草庐IT

call_user_function

全部标签

ruby-on-rails - RAILS link_to外部站点,url是用户表的属性,比如: @users.网站

我正在开发一个允许用户创建帐户的网站。创建用户时的属性之一是用户个人网站。当我尝试像这样使用用户网站时:生成的url是:http://0.0.0.0:3000/www.userswebsite.com我认为这是因为link_to的@user部分...但是我怎样才能让它链接到www.userwebsite.com? 最佳答案 如果协议(protocol)不存在,您可以在url前加上协议(protocol):moduleUrlHelperdefurl_with_protocol(url)/^http/i.match(url)?url:"

ruby-on-rails - rake 数据库 :reset 'user does not have CONNECT privilege'

所以我在我的Rails应用程序中使用HerokuPostgres,但我没有在Heroku本身上托管我的应用程序。我在我的database.yml中使用了来自Heroku的ActiveRecord连接详细信息,它看起来像这样:development:adapter:postgresqlencoding:unicodepool:5database:[database]username:[username]password:[password]host:ec2-54-227-243-78.compute-1.amazonaws.comport:5432但是,现在我正在尝试rakedb:mig

ruby - "extend self"与 "module_function"相同吗?

extendself和module_function是实现它的两种ruby​​方法,因此您可以在模块上调用方法,如果包含该模块也可以调用它。这些方式的最终结果有什么不同吗? 最佳答案 module_function将给定的实例方法设为私有(private),然后复制并将它们作为公共(public)方法放入模块的元类中。extendself将所有实例方法添加到模块的单例中,保持它们的可见性不变。moduleMextendselfdefa;endprivatedefb;endendmoduleNdefc;endprivatedefd;e

ruby-on-rails - rails : I can't call a function in a module in/lib - what am I doing wrong?

我有一个模块保存在/lib中作为test_functions.rb看起来像这样moduleTestFunctionsdefabcputs123endend进入ruby​​脚本/运行程序,我可以看到该模块正在自动加载(良好的配置约定等等......)>>TestFunctions.instance_methods=>["abc"]所以方法是已知的,让我们尝试调用它>>TestFunctions.abcNoMethodError:undefinedmethod`abc'forTestFunctions:Modulefrom(irb):3没有。这个怎么样?>>TestFunctions::a

ruby - VCR代理 : Record PhantomJS ajax calls with VCR inside Capybara

我已经在这个领域做了一些研究,但没有找到任何解决方案。我有一个站点,其中对facebook进行异步ajax调用(使用JSONP)。我正在使用VCR在Ruby端记录我所有的HTTP请求,所以我认为将此功能也用于AJAX调用会很酷。所以我尝试了一下,想出了一个代理尝试。我正在使用PhantomJS作为headless浏览器和poltergeist来集成到Capybara中。Poltergeist现在配置为使用这样的代理:Capybara.register_driver:poltergeist_vcrdo|app|options={:phantomjs_options=>["--proxy=

ruby module_function 与包含模块

在ruby​​中,我知道可以使用module_function在模块中混合使用模块函数,如此处所示。我知道这是多么有用,因此您可以在不混入模块的情况下使用该函数。moduleMyModuledefdo_somethingputs"helloworld"endmodule_function:do_somethingend我的问题是为什么您可能希望以这两种方式定义函数。为什么不拥有defMyModule.do_something或defdo_something在什么样的情况下,将函数混入或用作静态方法会有用? 最佳答案 想到Enumer

ruby-on-rails - 为什么当我尝试 user.save 时我的 Rails 回滚?

我已经安装了RailsTutorial示例应用程序(类似twitter的应用程序),并且我试图了解为什么当我尝试更新用户数据库时,以下控制台代码没有更新数据库。我希望在使用user.save后更新用户信息。但是,这会回滚到未经编辑的数据。这是由于基于用户的限制吗?用户Controller:classUsersController'Userwassuccessfullyupdated.')}format.json{respond_with_bip(@user)}elseformat.html{render:action=>"edit"}format.json{respond_with_b

ruby - `def self.function` 名称是什么意思?

谁能给我解释一下在方法定义中添加self是什么意思?是不是类似于java中的this关键字? 最佳答案 与其他语言不同,Ruby没有类方法,但它有附加到特定对象的单例方法。cat=String.new("cat")defcat.speak'miaow'endcat.speak#=>"miaow"cat.singleton_methods#=>["speak"]defcat.speak创建附加到对象cat的单例方法。当你写classA时,它等同于A=Class.new:A=Class.newdefA.speak"I'mclassA"e

ruby-on-rails - rails ActiveRecord : Find All Users Except Current User

我觉得这应该很简单,但是我的脑子短路了。如果我有一个代表当前用户的对象,并且想查询除当前用户之外的所有用户,考虑到当前用户有时可能为nil,我该怎么做?这就是我现在正在做的:defindex@users=User.all@users.deletecurrent_userend我不喜欢的是我正在对查询结果进行后处理。除了感觉有点不对之外,如果我将查询转换为使用will_paginate运行,我认为这不会很好地工作。关于如何通过查询执行此操作的任何建议?谢谢。 最佳答案 可以在Rails4及更高版本中执行以下操作:User.where.

ruby-on-rails - rails : Access to current_user from within a model in Ruby on Rails

我需要在RubyonRails应用程序中实现细粒度访问控制。单个用户的权限保存在数据库表中,我认为最好让相应的资源(即模型的实例)决定是否允许某个用户读取或写入它。每次都在Controller中做出这个决定肯定不会很枯燥。问题是为了做到这一点,模型需要访问当前用户,调用类似may_read?(current_user,attribute_name)的东西。.不过,模型通常无法访问session数据。有很多建议可以在当前线程中保存对当前用户的引用,例如在thisblogpost.这肯定会解决问题。邻近的Google结果建议我在User类中保存对当前用户的引用,我猜这是由应用程序不必同时容