Tag: 的Ruby on 轨道

Rails 3:如何根据请求生成压缩文件

如何根据请求生成压缩文件。 我有这个控制器 def create send_data generate_tgz(“#{RAILS_ROOT}/tmp/example.txt”), :filename => ‘export.tgz’ end 但它给了我一个在generate_tgz上找不到的方法。 它是插件还是gem? 我需要什么吗? 我可以生成一个zip文件吗? 编辑: def generate_tgz(file) system(“tar -czf #{RAILS_ROOT}/tmp/export-result #{RAILS_ROOT}/tmp/export”) content = File.read(“#{RAILS_ROOT}/tmp/export-result”) #ActiveSupport::Gzip.compress(content) end 这会创建一个tgz,但当我解压缩它时,我得到app / c3ec2057-7d3a-40d9-9a9d-d5c3fe3ffd6f / home / tmp / export / and_the_files 我希望它只是:export / the_files

Rails删除target =“_ blank”

我在rails 4.1.4上有一个简单的博客应用程序,允许用户创建post。 每当用户在其post中添加链接时,rails =“_ blank”标记将被rails删除。 例如: 用户输入: Google 查看已创建post的来源时: Google 显示。 我错过了一些明显的东西吗? 为什么rails会删除目标属性?

Rails:库模块和一组控制器的名称相同吗?

我正在组织我的代码,到目前为止,我已经成功地将controllers/helpers/views分组到“admin”文件夹中,但我曾经最初拥有一个具有相同模块名称“admin”的库,我是不能再打电话了。 (姓名冲突?) 新结构: Directory Structure -> app -> controllers -> admin #new -> admin_main -> admin_permissions -> Helpers -> admin #new -> admin_main_helper -> admin_permissions_helper -> lib -> admin -> pagerduty.rb 我曾经能够从我的助手那里打电话给我的图书馆,如下所示: module Admin::AdminMainHelper #admin:: is new require “./lib/admin/pagerduty.rb” def pager_duty pagerduty = Admin::PagerDuty.new() #throws error after the new structure @on_call = pagerduty.first_on_call() @counts = […]

Rails elasticsearch – 命名范围搜索

我只是从Tire gem转移到官方的弹性搜索Ruby包装器 ,我正在努力实现更好的搜索function。 我有一个模型InventoryItem和一个模型Store 。 Store has_many :inventory_items 。 我在Store上有一个名为local的模型范围 scope :local, lambda{|user| near([user.latitude, user.longitude], user.distance_preference, :order => :distance)} 我希望搜索只返回此范围的结果,所以我尝试了: InventoryItem.local(user).search….但它搜索整个索引,而不是范围。 经过一些研究后,看起来filter是实现这一目标的好方法,但我不确定如何实现。 我也愿意采用其他方式实现这一目标。 我的最终目标是能够根据商店位置搜索InventoryItem模型的子集。

在rails中的图像和js / css文件之后的问号。 为什么?

有谁知道为什么在图像和css文件之后有问号(有一个数字)(当看html代码时)? 我怎么能把它们关掉?

如果控制器为零,则将默认值设置为控制器中的param属性?

我允许用户按created_at和total_votes对post进行排序: posts_controller.rb: @posts = current_user.subscribed_posts.paginate(:page => params[:page], :per_page => 5, :order => params[:order_by]) show.html.erb: <span class="comment-tab current-tab”> “created_at DESC”) %> <span class="comment-tab current-tab” > “created_at ASC”) %> <span class="comment-tab current-tab”> “total_votes DESC”) %> 我想:order_by默认具有total_votes DESC的值(当它为nil时)。 这样做的最佳方法是什么?

使用time_ago_in_words获取{{count}}

我目前在我的应用程序中有这个代码: def comment_poster(comment) if comment.user “posted by #{comment.user.username} #{time_ago_in_words(comment.created_at)} ago” else “posted by anonymous” end end 但是,这只适用于我在几秒钟前和几年前发布的情况: posted by teejay about 1 year ago posted by teejay about 1 month ago 当我在几天前编辑created_at值时,它给了我: posted by thorpe {{count}} days ago 我该怎么办才能让它发挥作用而失去{{count}} 编辑:如果这意味着什么,我正在使用Rails 2.3.5 编辑:#2 我通过在config/locales/en.yml粘贴此代码来解决问题 datetime: distance_in_words: half_a_minute: “half a minute” less_than_x_seconds: one: “less than 1 second” […]

错误的解释器:没有这样的文件或目录

我正在研究迈克尔哈特尔的教程,试图第一次学习Rails,我遇到了一些问题。 我最近重新安装了整个Rails安装程序,因为我显然无意中删除了一些重要的文件。 现在,当我尝试运行测试时,我收到以下错误: sh.exe”: /c/Program Files (x86)/ruby-1.9.3/bin/bundle: “c:/Program: bad interpre ter: No such file or directory 我检查了我的PATH并尝试使用此处概述的解决方案: 找不到Bundle命令。 坏解释器 ..但在“C:\ Program Files(x86)\ ruby​​-1.9.3 \ bin”周围加上引号对我没有任何作用。 我运行$ rails -v并得到以下输出: $ rails -v ←[31mCould not find multi_json-1.3.6 in any of the sources←[0m ←[33mRun `bundle install` to install missing gems.←[0m 那么我尝试运行$ bundle install并再次遇到以下问题: Tom@TOM-PC /c/sample_app (updating-users) $ bundle […]

Rails Geocoder – 仍在学习

我确定这是一个简单的问题,因为我没有完全理解Rails中的位是如何组合在一起的…… 我已经跟踪了导轨,但是我在将它应用到我的应用程序中时遇到了麻烦(我让它独立工作)。 我得到的错误是 未定义的方法`nearbys’ 这就是我所拥有的:user.rb geocoded_by :full_address after_validation :geocode def full_address [address1, address2, address3, city, country, postcode].compact.join(‘, ‘) end users_controller.rb def index @title = “All users” if params[:search].present? @users = User.near(params[:search], 50, :order => :distance) else @users = User.all end end index.html.erb Nearby locations ( miles) _sidebar.html.erb :get do %> nil %> 谢谢 如果我评论出.nearbys ( […]

删除包含文件的文件夹

我想使用send_file从我的Rails控制器发送文件file.txt ,然后删除包含它的文件夹。 send_file(“#{Rails.root}/public/folder/file.txt”) system(“rm -rf #{Rails.root}/public/folder”) 当我尝试这个, file.txt被正确发送, file.txt被正确删除,但不知道folder没有被删除。 如何删除folder ?