Tag: ruby on rails 4

这些figaro配置设置是否适用于heroku部署?

所以,我正在使用Figaro存储我的秘密推特和Facebook oauth密钥,以便我可以正确地部署到Heroku。 我想确认我做得对。 在我的application.yml(由figaro生成): // Add application configuration variables here, as shown below. // // PUSHER_APP_ID: “2954” // PUSHER_KEY: 7381a978f7dd7f9a1117 // PUSHER_SECRET: abdc3b896a0ffb85d373 // STRIPE_API_KEY: EdAvEPVEC3LuaTg5Q3z6WbDVqZlcBQ8Z // STRIPE_PUBLIC_KEY: pk_BRgD57O8fHja9HxduJUszhef6jCyS // note these are arbitrary keys for the stack overflow FR_FACEBOOK_KEY=1231231233123123 FR_FACEBOOK_SECRET=3123123123123 TWITTER_CONSUMER_KEY=12312312312312 TWITTER_CONSUMER_SECRET=1312312312312 那就是application.yml,那么我只需要运行: heroku config:add FR_FACEBOOK_KEY=8926 // and so on… 正确? 或者我错过了什么? 提前致谢! 当我运行rake […]

使用Active Record Reputation System gem,当我按投票排序时,不会发生排序

在信誉系统gem的RailsCast之后,我将以下代码添加到microposts_controller中 def index @microposts = Micropost.paginate(page: params[:page]).find_with_reputation(:votes, :all, order: “votes desc”) @micropost = current_user.microposts.build end 但除了我在模型中设置的默认范围外,我的索引操作中没有排序 在我的微博模型中,我有 class Micropost { order(‘created_at DESC’) } 如果我将默认范围更改为 default_scope -> { order(‘votes DESC’) } 它的工作方式只适用于索引页面,但会破坏我的所有其他页面。 我尝试删除默认范围并留在find_with_reputation方法中,但它仍然没有通过投票排序。 我也尝试在像这样的微博模型中的方法中定义范围 def self.popular find_with_reputation(:votes, :all, {:order => ‘votes desc’}) end 并像这样在microposts_controller中创建代码 def index @microposts = Micropost.paginate(page: params[:page]).popular @micropost = current_user.microposts.build end 它仍然没有按投票排序。 以下是访问微博索引页面的日志输出的副本https://gist.github.com/anonymous/9745552 […]

Rails 4 – 将地址保存为数据库中的一列

我是rails的新手,也是一个简单的应用程序。 我的ERD中有一个名为Client的模型,并希望保存每个客户端的地址。 我最初的想法是将地址保存为单独的字段,即: rails g model Client address_first:string address_second:string city:string … 但这似乎效率很低。 我确定必须有一种方法来保存地址哈希,数组或者JSON? 我已经阅读过并且人们一直在指使用“序列化”,但我不确定是否以及如何为地址字段实现此function。 非常感激任何的帮助。 谢谢

rails form error:语法错误,意外的keyword_ensure,期望输入结束

我无法弄清楚问题是什么。 当我转到带有表单的页面时,我收到错误: syntax error, unexpected keyword_ensure, expecting end-of-input 这是我的表单代码: :put, :class => “skill-form”, :remote => true) do %> ‘selectme’, :class => ‘field field288 chosen-select’ %> “clickme”, :class => ‘button’ %>

Rails 4 – 资源id路由的显式模型名称

在routes.rb定义以下路由时: resources :streams Rails生成以下URL: streams GET /streams(.:format) POST /streams(.:format) new_stream GET /streams/new(.:format) edit_stream GET /streams/:id/edit(.:format) stream GET /streams/:id(.:format) PATCH /streams/:id(.:format) PUT /streams/:id(.:format) DELETE /streams/:id(.:format) 我想有一个显式的资源ID,即:stream_id而不是:id 。 编辑: 对于简单的资源,解决方案就像@ user2262149和@vimsha一样: resources :streams, :param => :stream_id 问题在于嵌套资源。 如果我这样做: resources :streams do resource :comment, :param => :comment_id end 我会得到这条路线(没关系): stream_comments GET streams/:stream_id/comments(.:format) 但另一方面,对于父资源(同样, :id而不是:stream_id ): streams GET streams/:id(.:format) […]

undefined局部变量或方法`user_params’trail 4

所以我按照“从头开始validation”的轨道进行操作 – http://railscasts.com/episodes/250-authentication-from-scratch 我知道rails 4不使用attr_accessible。 我在我的用户控制器中将user_params定义为私有方法。 出于某种原因,rails为用户参数提供了一个未定义的错误。 我正在开发另一个rails app,我检查了它中的post控制器。 除了工作之外,它完全一样。 知道这里的问题是什么吗? users_controller.rb class UsersController “Signed up!” else render “new” end private def user_params params.require(:user).permit(:email, :password, :password_confirmation) end 错误消息:未定义的局部变量或方法`user_params’for# 全栈跟踪: app / controllers / users_controller.rb:7:在create’ actionpack (4.1.1) lib/action_controller/metal/implicit_render.rb:4:in send_action’actionpack(4.1.1)lib / abstract_controller / base.rb:189: in process_action’ actionpack (4.1.1) lib/action_controller/metal/rendering.rb:10:in process_action’actionpack(4.1.1)lib / abstract_controller / callbacks.rb:20:in block in process_action’ […]

在rails中组成模型的名称

我正在使用西class牙语的遗留数据库与RoR合作。 我有桌子和registropersona和模型RegistroPersona 。 现在我想运行rails generate scaffold_controller registro_persona但是生成的控制器名称应该是RegistrosPersonasController (注意Registros和Personas中的最后一个 )。 我怎样才能做到这一点?

组主动记录关系

在桌面上选择后,我得到一个结果: [#, # […] 如何对url分组并保留key_id ,例如: [“http://www.url.com/1”, [1, 2]]=>2 谢谢

回形针输入和编辑操作中上传图像的预览

我正在使用paperclip和rails 4,并且多个图像上传工作正常。 但是,我想将其配置为允许上传最多3张图片,并仅显示上传图片的输入和预览。 如果我从3个可能的图像上传图像..然后转到编辑动作..它仍然显示3个上传输入元素而不是2.并且所有人都说“没有选择文件”这对用户不利。 用户可能会在认为他们正在添加新图像时替换该图像。 如何修改我的编辑操作或我的表单,以便对于已填充的资源 , choose file输入实际上显示上传的文件名而不是在先前已上载图像时No file chosen的No file chosen或根本不显示输入元素? 我的表单字段: Images Delete: 我的控制器动作: def new @post = Post.new 3.times { @post.assets.build } … end end def edit @post = Post.find(params[:id]) if @post.assets.count < 3 3.times { @post.assets.build } end end 模型: class Asset { :medium => “600×600>”, :small => “200×200>”, :thumb […]

Rails 4多域应用程序,为每个域i18n语言环境设置语言环境

在Rails 4多域应用程序中,我需要一组针对每个域的4种语言的区域设置文件(总共3个域)。 一些翻译在域之间重叠,但其中一些是非常具体的,所以我在想一个有点像这样的结构: config/locales/en.yml ..fr.yml ..de.yml ..it.yml #is picked up by all domains config/locales/domain1/en.yml ..fr.yml ..de.yml ..it.yml #is picked up by domain 1 config/locales/domain2/en.yml ..fr.yml ..de.yml ..it.yml #is picked up by domain 2 config/locales/domain3/en.yml ..fr.yml ..de.yml ..it.yml #is picked up by domain 3 这可能在Rails 4中吗? 如果是这样的话,最好的方法是什么呢?