Tag: ruby

Ruby – 如何从string中select一些字符

我正在试图find一个函数,例如string的前100个字符。 在PHP中,存在substr 函数 Ruby有一些类似的function吗?

在Ruby中parsing制表符分隔文件的最好方法是什么?

在Ruby中parsing制表符分隔文件的最好(最有效的)方法是什么?

Vim Command-T插件错误:无法加载C扩展名

我正在尝试安装Command-T插件。 我按照这个评论中的说明编译了vim: 用ruby支持安装vim(+ ruby​​) 所以现在有+的ruby标志,但仍然当我尝试使用插件,我得到这个错误: command-t.vim could not load the C extension Please see INSTALLATION and TROUBLE-SHOOTING in the help For more information type: :help command-t 我的系统上有ruby: > ruby -v > ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux] build议?

Rails:更新模型属性,无需调用callback

我有一个具有:credits特性的用户模型。 我想要一个简单的button,通过名为“add”的路由添加5到用户的信用点,以便/ users / 3 / add将添加5到用户id = 3的信用点。 def add @user = User.find(params[:id]) @user.credits += 5 redirect_to root_path end 这是我的控制器的相关部分。 问题是,我不想调用@ user.save,因为我有一个before_savecallback,根据当前的UTC时间重新encryption用户的密码。 我只想简单地加上5个属性,避免callback,我从来没有想过这么简单的事情可能是如此艰难。 编辑: 我把callback改为:before_create,这里是我的新控制器代码(相关部分): def add @user = User.find(params[:id]) @user.add_credits(5) @user.save flash[:success] = "Credits added!" redirect_to root_path end 这里是我在模型中的代码: def add_credits(num) self.credits = num end 编辑2: 好吧,这是一个validation问题,使“编辑”的变化不起作用,但我仍然喜欢回答没有callback更新的原始问题!

Rails:如何使datestrftime知道默认的语言环境?

我有我的默认语言环境设置为de (德国) environment.rb 。 我也看到所有的德语错误信息,所以语言环境是由服务器拿起。 但是当我尝试使用strftime打印date如下所示: some_date.strftime('%B, %y') 它用英文打印( January, 11 ),而不是预期的德文( January, 11 Januar, 11 )。 如何根据默认语言环境打印date?

只有在存在的情况下才validation属性(仅当用户填写时)

我只需要validation一些属性,如果他们不是空的。 例如,用户可能有一个标志。 如果我们尝试加载它 – validation应该工作。 如果我们只更新没有徽标的用户数据,则必须跳过validation。 我现在有: 该表格有两个文件的select。 一个标志,第二个头像。 这两个属性都是用户模型的一部分。 在用户模型中有一个validation: validates_preference_of :logo_file_name, :message=>I18n.t("…") validates_format_of :logo_file_name, :with=>/\.(jpeg|jpg|png|gif)$/i, :message=> I18n.t("…") validates_preference_of :avatar_file_name, :message=>I18n.t("…") validates_format_of :avatar_file_name, :with=>/\.(jpeg|jpg|png|gif)$/i, :message=> I18n.t("…") 在这种情况下,如果我们尝试创build一个没有select标志和头像的新用户,我们将会有错误(我们的validation)。 我尝试更改validation,并添加“:on =>:update”,如下所示: validates_preference_of :logo_file_name, :message=>I18n.t("…"), :on => :update validates_format_of :logo_file_name, :with=>/\.(jpeg|jpg|png|gif)$/i, :message=> I18n.t("…"), :on => :update validates_preference_of :avatar_file_name, :message=>I18n.t("…"), :on => :update validates_format_of :avatar_file_name, :with=>/\.(jpeg|jpg|png|gif)$/i, :message=> I18n.t("…"), […]

使用send_file从Amazon S3下载文件?

我在我的应用程序中有一个下载链接,用户应该能够下载存储在s3上的文件。 这些文件将公布在像这样的url上 https://s3.amazonaws.com/:bucket_name/:path/:to/:file.png 下载链接命中我的控制器中的一个操作: class AttachmentsController < ApplicationController def show @attachment = Attachment.find(params[:id]) send_file(@attachment.file.url, disposition: 'attachment') end end 但是当我尝试下载文件时出现以下错误: ActionController::MissingFile in AttachmentsController#show Cannot read file https://s3.amazonaws.com/:bucket_name/:path/:to/:file.png Rails.root: /Users/user/dev/rails/print Application Trace | Framework Trace | Full Trace app/controllers/attachments_controller.rb:9:in `show' 该文件完全存在,可以在错误消息的url处公开访问。 我如何让用户下载S3文件?

Rails中的每个视图的JavaScript文件

根据“不显眼的JavaScript”的build议,我想分开我的JavaScript逻辑 单独的文件。 但是我不知道如何组织它们。 我是不是该: 只要把所有的应用程序的JavaScript到Application.js文件,并加载与布局页面? 这是简单的方法,但我最终会臃肿的Application.js。 有些用户可能只想访问几页,但是这个文件会被预加载,这是不好的。 还是应该为每个视图创build一个单独的javaScript文件并独立加载它们? 这就产生了一系列的问题。 如何将每个js文件链接到相应的视图? 谢谢。

在Rails 3中突出显示当前页面的最佳方法是什么? – 有条件地应用CSS类来链接

对于下面的代码: <%= link_to "Some Page", some_path %> 如何使用current_page?‎ helper方法应用css类current ? 或者如果有其他更好的方法可用?

如何在Ruby on Rails中以编程方式查找名称空间/模块名称?

如何在下面的filter中find名称空间或模块“Foo”的名称? class ApplicationController < ActionController::Base def get_module_name @module_name = ??? end end class Foo::BarController < ApplicationController before_filter :get_module_name end