Tag: ruby在轨道 3

在ruby中删除文件

我正在使用carrierwave gem来上传文件。 我已经build立了一个系统,让用户把图像标记为不合适的,pipe理员去除图像。 从我所知道的情况来看,在图像上调用destroy只会从tabel中删除path名。 有没有办法让ruby实际上删除文件本身? 或者应该轨道自动删除文件,当我摧毁图像path?

在视图中显示载波文件名

我试图显示在一个Rails erb模板中的Carrierwave附件的文件名。 以下不起作用: <%= @page.form.filename %> 这似乎符合文件 。 是需要一些额外的步骤? 我的页面模型看起来像这样: class Page < ActiveRecord::Base mount_uploader :form, FormUploader end 表单上传看起来像这样: class FormUploader < CarrierWave::Uploader::Base storage :file def store_dir "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end def extension_white_list %w(pdf) end end

如何在Rails 3.1中获取资源的绝对URL?

image_path只返回一个path(没有主机)。 url_for helper不会接受一个单独的path,所以像url_for(image_path('image.png'))就不能工作。 虽然ActionDispatch::Http::Url.url_for的内部url_for看起来可以做到这一点( 源代码 ),但似乎并没有公开的接口。 我该怎么去做呢? 最终,像image_url这样的函数可以像url_for那样工作,这样我就可以调用image_url('image.png')并获得所有default_url_options的绝对URL。

Rails 3:Passenger找不到捆绑器安装的git gems

Rails 3.0.0,乘客2.2.15: 创build一个新的Rails项目 将gem 'paperclip', :git => 'git://github.com/lmumar/paperclip.git', :branch => 'rails3' rails3 gem 'paperclip', :git => 'git://github.com/lmumar/paperclip.git', :branch => 'rails3'到您的Gemfile 做bundle install 一切正常,从rails/script server和访问开始也可以 但是,在与乘客联系时,它说: git://github.com/lmumar/paperclip.git(在rails3)没有签出。 请运行bundle install (Bundler :: GitError) 我已经尝试了bundler pack (并没有帮助),并设置BUNDER_HOME到〜/ .bundler(Paperclip git安装在那里通过bundler install )在.htaccess和config / *。rb中的各个地方,但这不成功也是。 〜/ .bundler和Rails项目(Passenger在这个用户下运行)拥有相同的用户,所以它不能成为一个权限问题。 sudo被安装并被bundle install调用。 任何提示?

在Rails中,如何为String类添加一个新的方法?

我想为我的Rails项目中的不同对象构build一个索引,并希望添加一个可以在String对象上调用的“count_occurences”方法。 我看到我可以做类似的事情 class String def self.count_occurences do_something_here end end 定义这个方法的确切方法是什么,在哪里把代码放在我的Rails项目中? 谢谢

我如何供应Rails3 / Bundler的gem

在Rails 2.X中,我可以简单地将gem复制到vendor/gems/gem_name ,或者使用rake命令rake gems:unpack 。 由于Rails3使用捆绑器,它似乎不再工作。 我已经find了命令bundle package ,但是它不能以相同的方式工作。 编辑: 所以,只是想详细说明一下: 轨道2的工作方式,我可以很容易地findvendor/gems东西。 如果它们捆绑在.gem文件中,那是不可能的。 另外,在开发一个gem / plugin的时候,把它放在一个rails应用程序中来testing它是非常有用的。 我如何用bundler / rails3做这样的事情? 我的工作stream程是否以某种方式破坏了?

如何为HAML中的元素设置内联样式

这是我的代码: <div class='some' style='position: absolute; left: 300; top: 300;'>..</div> 它只parsingstyle='position: absolute' ,并不parsing其他样式。 我怎样才能做到这一点?

Rails 3:通过关联使用has_many进行多选

我想要获得select多个select的一个职位的几个类别的可能性。 我有下一个模型:Post,Category和PostCategory。 class Post < ActiveRecord::Base has_many :post_categories has_many :categories, :through => :post_categories end class Category < ActiveRecord::Base has_many :post_categories has_many :posts, :through => :post_categories end class PostCategory < ActiveRecord::Base has_one :post has_one :category belongs_to :post # foreign key – post_id belongs_to :category # foreign key – category_id end 在我的控制器中,我有类似@post = Post.new的东西。 我创build了一些类别。 而在我看来,我有: <%= […]

删除所有安装的gem,并重新开始

我最近开始学习Ruby和Ruby on Rails,并观看了大量入门资料。 我最近一直在发现,我不断地收到错误的地方不会安装gem,或者他们将被安装,但由于某种原因,他们不能使用,我已经决定,我想删除一切再次只是安装了Ruby并重新开始安装。 一个培训video让我用RVM安装了大部分的gem,所以我不知道这是否会改变什么。 所以简而言之,我的问题是“如何摆脱RVM,Rubygems和所有已安装的Gem,以便我可以重新开始使用Ruby? 编辑:我在Mac OS 10.6上

如何从我的Rails模型中删除一列?

我需要从我已经创build的轨道模型中删除几列,并在该模型中有一些行条目。 怎么做? 任何具有修改架构在轨道的细节的链接? 我正在使用rails版本3。