草庐IT

authorizing-access-to-an-instance

全部标签

ruby-on-rails - 如何使用 Rails 中的 instance_eval 子句删除验证?

我想使用instance_eval增强现有类。原始定义包含验证,这需要存在某些字段,即:classDummytrueend现在我想使用instance_eval(或任何其他方法,真的)将其更改为可选:Dummy.instance_evaldo...end删除验证的正确语法是什么,因此该字段是可选的。我宁愿直接在模型层上这样做,而不是在Controller或View中进行奇怪的修改。instance_eval的使用并不是真正必需的,但据我所知,这通常是增强Rails类的最佳方式。编辑#1一般来说-原始类是gem的一部分,我不想fork它,也不想绑定(bind)到特定版本。一般原因并不重要

ruby-on-rails - Rails 4 迁移 : how to reorder columns

我了解到add_column有一个:after选项来设置插入列的位置。太糟糕了,我才知道它:在添加了一堆之后。如何编写迁移以简单地对列进行重新排序? 最佳答案 当使用MySQL时,您可以调用change_column,但是您必须重复列类型(只需从您的其他迁移中复制并粘贴它):defupchange_column:your_table,:some_column,:integer,after::other_columnend或者如果您必须对一个表中的多个列重新排序:defupchange_table:your_tabledo|t|t.c

ruby-on-rails - rails : how do you access RESTful helpers?

我正在努力解决这个guidetoRailsrouting,但我卡在了3.3部分:CreatingaRESTfulroutewillalsomakeavailableapileofhelperswithinyourapplication然后他们列出了一些助手,例如photos_url、photos_path等。我的问题:我在哪里可以找到“可用”的助手的完整列表?有没有办法在控制台中调用助手?我创建了一个应用程序,然后使用script/console打开了控制台。我试着像这样在控制台上调用其中一个助手:>>entries_url但是得到了:NameError:undefinedlocalv

ruby-on-rails - rails : How to downcase non-English string?

如何在RubyonRails3中将非英语字符串小写?str="Привет"#Russianputsstr[0].ord#=>1055str.downcase!putsstr[0].ord#=>1055(Shouldbe1087)我希望它能在Ruby1.8.7和Ruby1.9.2中工作。 最佳答案 str="Привет"str.mb_chars.downcase.to_s#=>"привет" 关于ruby-on-rails-rails:Howtodowncasenon-English

ruby-on-rails - 如何解决弃用警告 "Method to_hash is deprecated and will be removed in Rails 5.1"

我正在尝试更新到Rails5,我收到以下弃用警告:DEPRECATIONWARNING:Methodto_hashisdeprecatedandwillberemovedinRails5.1,asActionController::Parametersnolongerinheritsfromhash.Usingthisdeprecatedbehaviorexposespotentialsecurityproblems.Ifyoucontinuetousethismethodyoumaybecreatingasecurityvulnerabilityinyourappthatcanbee

ruby - 安装 RVM : getting error "There was an error(23)."

我尝试安装RubyVersionManager(RVM)但没有成功。如何解决我遇到的这个错误?ubuntu@ip-172-31-0-20:/tmp$rvminstallruby-1.9.3-p484Searchingforbinaryrubies,thismighttakesometime.Nobinaryrubiesavailablefor:ubuntu/14.04/x86_64/ruby-1.9.3-p484.Continuingwithcompilation.Pleaseread'rvmhelpmount'togetmoreinformationonbinaryrubies.Ch

ruby - `respond_to?` 与 `respond_to_missing?`

与定义respond_to?相比,定义respond_to_missing?有什么意义?如果为某些类重新定义respond_to?会出什么问题? 最佳答案 没有respond_to_missing?已定义,试图通过method获取方法会失败:classFoodefmethod_missingname,*argspargsenddefrespond_to?name,include_private=falsetrueendendf=Foo.newf.bar#=>[]f.respond_to?:bar#=>truef.method:bar

ruby-on-rails - `:location => ...`格式语句中的 `head :ok`和 'respond_to'是什么意思?

我正在使用RubyonRails3,我想知道:location=>...和head:ok语句在以下代码中的含义,如何它们的工作原理以及我如何\应该使用它们。respond_todo|format|format.xml{render:xml=>@user,:status=>:created,:location=>@user}endrespond_todo|format|format.xml{head:ok}end 最佳答案 render...:location=>@user将设置HTTPlocationheader通知客户端新创建资源

ruby - to_a 和 to_ary 有什么区别?

to_a和to_ary有什么区别? 最佳答案 to_ary用于隐式转换,而to_a用于显式转换。例如:classCoordinatesattr_accessor:x,:ydefinitialize(x,y);@x,@y=x,yenddefto_a;puts'to_acalled';[x,y]enddefto_ary;puts'to_arycalled';[x,y]enddefto_s;"(#{x},#{y})"enddefinspect;"#"endendc=Coordinates.new10,20#=>#splat运算符(*)是一

ruby-on-rails - 如何设置 ActionMailer default_url_options 的 :host dynamically to the request's hostname?

我正在尝试设置:hostforactionmailer默认url选项。我在所有环境文件中设置了以下内容config.action_mailer.default_url_options={:host=>"localhost"}我想通过提供请求主机使其更具动态性。当我尝试通过设置它时config.action_mailer.default_url_options={:host=>request.domain}或config.action_mailer.default_url_options={:host=>request.env["SERVER_NAME"]}它抛出错误...无法识别“请求