Tag: 的Ruby on 轨道

如何全局覆盖rails url helper?

我需要添加一个简单的更改到foo_path ,所以我这样做: module ApplicationHelper # […] def foo_path(foo, options = {}) options.merge!(bar: foo.some_attribute) super end # […] end 现在,这在从视图调用时起作用,但是当从控制器调用时,使用没有添加的原始变体。 如何覆盖应用程序范围内的相应帮助程序(_path / _url)?

ActionController :: RoutingError(没有路由匹配“/assets/images/control_top.png”):在rails 3.2.8中

背景图片未上传到我的视图页面中。显示此错误。 ActionController :: RoutingError(没有路由匹配[GET]“/assets/images/control_top.png”) 我该怎么做才能解决这个问题?

如何隐藏记录,而不是删除它们(从头开始软删除)

让我们保持这个简单。 假设我有一个User模型和一个Post模型: class User < ActiveRecord::Base # id:integer name:string deleted:boolean has_many :posts end class Post < ActiveRecord::Base # id:integer user_id:integer content:string deleted:boolean belongs_to :user end 现在,让我们说管理员想要“删除”(隐藏)post。 所以基本上他通过系统将post的deleted属性设置为1 。 我现在应该如何在视图中显示此post? 我应该在post上创建一个虚拟属性,如下所示: class Post < ActiveRecord::Base # id:integer user_id:integer content:string deleted:boolean belongs_to :user def administrated_content if !self.deleted self.content else "This post has been removed" end end end […]

Rails我如何 – 使用send_data导出数据然后重定向到新页面?

我有一个rails应用程序,允许用户下载生成的CSV文件。 下载文件后,我想将用户重定向到新的URL或操作。 在send_data之后有一个重定向的技巧吗? 我想做这样的事情(这不起作用): send_data(output,:type => content_type,:filename => “myfile.csv”) redirect_to :controller => ‘my_controller’, :action => ‘download_done’

Heroku捆绑错误(Rails应用程序)

我是Ruby on Rails的新手,app正在本地机器上运行 本地捆绑工作 但是当我尝试git push heroku master时 ,这是我得到的错误: remote: remote: —–> Ruby/Rails app detected remote: —–> Using Ruby version: ruby-1.9.3 remote: —–> Installing dependencies using remote: Running: bundle install –without development:test –path vendor/bundle –binstubs vendor/bundle/bin –deployment remote: /usr/bin/env: ruby1.9.1: No such file or directory remote: ! remote: ! Failed to install gems via Bundler. […]

从复选框构建数组时form_for的语法

我正在为Order对象创建一个表单,并且该订单包含许多Products,通过名为OrderProducts的连接表。 所以,我们有这样的事情: … want to iterate over products here to build up “order[product_ids][]”, with one checkbox per product 通常对于每个产品我会有一个check_box_tag,说 但是,这一点,虽然工作正常,总觉得有点像警察。 有没有办法用f.check_box语法做到这f.check_box ? 重要提示 – 关于有问题的项目我在Rails 2.2.2中工作,因此在rails 2中工作的解决方案将是理想的。

Rails 3找到没有孩子的父母

在没有计数器缓存的一对多关系中,我怎样才能找到没有孩子的父母? user.rb has_many :pages page.rb belongs_to :user 我试过了 User.includes(:pages).where(“pages.user_id is NULL”) 这在MySQL中遇到了麻烦。

Rails似乎两次为该页面提供服务

当我发出单页请求时,这就是我在本地日志文件中看到的内容: Started GET “/” for 127.0.0.1 at Mon Apr 25 22:12:22 -0700 2011 User Load (0.9ms) SELECT “users”.* FROM “users” WHERE (“users”.”id” = 2) LIMIT 1 Processing by PagesController#beta as HTML Rendered pages/beta.html.erb within layouts/beta (16.2ms) Completed 200 OK in 23ms (Views: 18.8ms | ActiveRecord: 7.7ms) Started GET “/” for 127.0.0.1 at Mon Apr 25 […]

在迁移期间将表格从schema.rb中保留

作为我在运行测试时不重新加载巨大的持久表的早期问题的后续内容 ,我需要在运行迁移时将此表保留在schema.rb之外。 这个表直接从mysqldump加载,所以我不担心跟踪它。 那么,如何从schema.rb中保留一个特定的表?

Rails 4.1.5 omniauth强参数

将Rails 4.1.4升级到4.1.5后,我的facebook omniauth会话出错,从那时起一切正常。 当我创建一个用户会话时,我得到一个ActiveModel::ForbiddenAttributesError 路线: match ‘auth/:provider/callback’, to: ‘sessions#create’, as: ‘signin’, via: :get Session#创建控制器: def create user = User.from_omniauth(env[“omniauth.auth”]) session[:user_id] = user.id session[:user_name] = user.name redirect_to root_path end 和这样的用户模型: def self.from_omniauth(auth) where(auth.slice(:provider, :uid)).first_or_create.tap do |user| user.provider ||= auth.provider user.uid = auth.uid user.name = auth.info.name user.save end end 我可以通过添加许可来绕过ActiveModel错误! 我的用户模型中的方法是这样的: where(auth.slice(:provider, :uid).permit!).first_or_create.tap do |user| 但它覆盖数据库中的第一个用户… session[:user_id]似乎始终是数据库中的第一个用户。 […]