草庐IT

append_view_path

全部标签

ruby - require File.expand_path(..., __FILE__) 是最佳实践吗?

requireFile.expand_path(...,__FILE__)是要求项目中其他文件的最佳方式吗? 最佳答案 在Ruby1.9.2中+require_relative可能是更正确的方法。出于安全原因,require已更改为不包含您的'.'目录。添加了require_relative,以便为相对于您的调用脚本路径的模块提供本地文件解决方案。您可以searchhereonStackOverflow,特别是在“Whatisrequire_relativeinRuby?”中,以及互联网和查找使用技巧以及why-formessage

ruby - PATH 中的不安全世界可写目录/用户/用户名,运行 Ruby 命令时模式 040777

当我运行像gem-v这样的Ruby命令时,我得到了这个错误:/Users/kristoffer/.rvm/rubies/ruby-1.9.2-p180/bin/gem:4:warning:Insecureworldwritabledir/Users/kristofferinPATH,mode0407771.6.2首先我不明白这是什么意思。根据echo$PATH,/Users/kristoffer不在我的路径中。echo$PATH的结果是:/Users/kristoffer/.rvm/gems/ruby-1.9.2-p180/bin:/Users/kristoffer/.rvm/gems

ruby-on-rails - 我们可以从 View 调用 Controller 的方法吗(理想情况下我们从 helper 调用)?

在RailsMVC中,您能否从View中调用Controller的方法(因为方法可以从助手中调用)?如果是,如何? 最佳答案 这里是答案:classMyController然后,在您看来,您可以在ERB中引用它,完全符合您对的期望。或: 关于ruby-on-rails-我们可以从View调用Controller的方法吗(理想情况下我们从helper调用)?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

ruby-on-rails - Rails,如何在模型中渲染 View /部分

在我的模型中,我有:after_create:push_create我push_create我需要渲染一个View。我正在尝试这样做:defpush_event(event_type)X["XXXXX-#{Rails.env}"].trigger(event_type,{:content=>render(:partial=>"feeds/feed_item",:locals=>{:feed_item=>self})})end这激怒了rails,因为它不喜欢我在模型中渲染View,但我需要它。错误:NoMethodError(undefinedmethod`render'for#):建议

ruby - Xcode - 配置 : error: no acceptable C compiler found in $PATH

从头开始重建Mac。安装xcode和rvm然后尝试安装ruby但他们都给我:Errorrunning'./configure--prefix=/Users/durrantm/.rvm/rubies/ruby-1.9.3-p125--enable-shared--disable-install-doc--with-libyaml--with-opt-dir=/Users/durrantm/.rvm/usr',pleaseread/Users/durrantm/.rvm/log/ruby-1.9.3-p125/configure.logTherehasbeenanerrorwhilerun

ruby - GEM_HOME 和 GEM_PATH 有什么区别?

RubyGems是Ruby编程语言的包管理器,它提供了一种用于分发Ruby程序和库的标准格式(以一种称为“gem”的自包含格式),一种旨在轻松管理gem安装的工具,以及用于分发它们的服务器。它类似于Python编程语言的EasyInstall。RubyGems现在是Ruby1.9版标准库的一部分。也就是说,GEM_HOME和GEM_PATH之间有什么区别? 最佳答案 GEM_PATH提供可以找到gem的位置(可能有多个)。GEM_HOME是安装gem的地方(默认)。(因此GEM_PATH应该包括GEM_HOME)。

ruby - "which in ruby": Checking if program exists in $PATH from ruby

我的脚本严重依赖外部程序和脚本。我需要确定我需要调用的程序存在。手动地,我会在命令行中使用“which”来检查这一点。对于$PATH中的东西,是否有等同于File.exists?的东西?(是的,我想我可以解析%x[whichscriptINeedToRun]但这不是super优雅。谢谢!亚尼克更新:这是我保留的解决方案:defcommand?(command)system("which#{command}>/dev/null2>&1")end更新2:出现了一些新的答案-至少其中一些提供了更好的解决方案。更新3:ptoolsgem向File类添加了一个“which”方法。

ruby - File.expand_path ("../../Gemfile", __FILE__) 这是如何工作的?文件在哪里?

ENV["BUNDLE_GEMFILE"]=File.expand_path("../../Gemfile",__FILE__)我只是想从某个目录访问一个.rb文件,教程告诉我使用这段代码,但我不知道它是如何找到gem文件的。 最佳答案 File.expand_path('../../Gemfile',__FILE__)是一个有点丑陋的Ruby习惯用法,用于在您知道相对于当前文件的路径时获取文件的绝对路径。另一种写法是这样的:File.expand_path('../Gemfile',File.dirname(__FILE__))两

ruby - 将目录添加到 $LOAD_PATH (Ruby)

我见过两种常用的技术,用于将当前正在执行的文件的目录添加到$LOAD_PATH(或$:)。如果您不使用gem,我会看到这样做的好处。显然,一个似乎比另一个更冗长,但有理由优先考虑另一个吗?第一个,冗长的方法(可能有点矫枉过正):$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__)))unless$LOAD_PATH.include?(File.expand_path(File.dirname(__FILE__)))还有更直接、快捷的方法:$:.unshiftFile.dirname(__FILE__)有什么理由比另一个更好

ruby-on-rails - 为什么所有 Rails 助手都可用于所有 View ,一直?有没有办法禁用它?

为什么我可以在另一个Controller的View中访问一个Controller的辅助方法?有没有办法在不破解/修补Rails的情况下禁用它? 最佳答案 @GeorgeSchreiber的方法在Rails3.1中不起作用;代码发生了重大变化。但是,现在有一种更好的方法可以在Rails3.1(希望是更高版本)中禁用此功能。在您的config/application.rb中,添加这一行:config.action_controller.include_all_helpers=false这将preventApplicationContro