草庐IT

filter_id

全部标签

ruby - 在 ruby​​/ActiveRecord 中生成类似 Instagram 或 Youtube 的不可猜测的字符串 ID

在创建给定ActiveRecord模型对象的实例后,我需要生成一个简短的(6-8个字符)唯一字符串用作URL中的标识符,采用Instagram照片URL的样式(如http://instagram.com/p/P541i4ErdL/,它我只是争先恐后地成为404)或Youtube的视频网址(如http://www.youtube.com/watch?v=oHg5SJYRHA0)。执行此操作的最佳方法是什么?最简单的是createarandomstring重复直到它是唯一的?有没有一种方法可以对整数ID进行散列/洗牌,使用户无法通过更改一个字符来破解URL(就像我对上面的404'sInst

ruby-on-rails - 如何验证关联的模型 ID?

我有一个学生和一个类(class)模型。学生属于类(class),类(class)有很多学生。classStudenttruevalidates_associated:courseendclassCoursetruevalidates:courseCode,:courseYr,:uniqueness=>{:message=>"Cannotrepeatthecode"}has_many:studentsend在用于创建学生记录的表单中,我让用户输入类(class)ID。但我不知道如何验证用户输入的course_id。学生模型验证不会产生错误,即使我键入不存在的类(class)ID。如何让

ruby-on-rails - 未知属性 : user_id

我在执行current_user.stories.build时遇到错误unknownattribute:user_idclassUser架构.rbcreate_table"stories",:force=>truedo|t|t.string"responsible"t.string"descr"t.string"state"t.datetime"created_at",:null=>falset.datetime"updated_at",:null=>falseendcreate_table"users",:force=>truedo|t|t.string"email"t.string

ruby - 多个 Controller 之间共享的 before_filter 放在哪里

我有多个Controller,它们都使用相同的before_filter。为了让事情保持干燥,这个方法应该放在哪里以便所有Controller都可以使用它?模块似乎不是正确的位置,但我不确定为什么。我不能将它放在基类中,因为Controller已经有不同的父类(superclass)。 最佳答案 如何将您的before_filter和方法放在一个模块中,并将其包含在每个Controller中。我会将此文件放在lib文件夹中。moduleMyFunctionsdefself.included(base)base.before_filt

ruby - 如何将 before_filter 应用于 Rails 3.2.11 中每个 Controller 的每个操作?

我想验证用户是否在对服务器的每个请求中登录。类似于::before_filterverify_logged_in我应该把before_filter放在哪里,以便它适用于所有Controller操作和所有请求? 最佳答案 为确保过滤器适用于所有操作,将其放在application_controller.rb中。 关于ruby-如何将before_filter应用于Rails3.2.11中每个Controller的每个操作?,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - 为什么在 Controller 被子类化时 Rails before_filter 被调用两次?

我在使用Rails2.3.5,我遇到了这个问题:classBaseController[:index]endclassChildController[:index,:show,:other,:actions]end问题是在ChildController上,过滤器之前的:foo被调用了两次。我已经尝试了很多解决这个问题的方法。如果我不在子项中包含:index操作,则永远不会为该操作调用它。我找到的解决方案有效,但我认为它非常难看skip_before_filter:foobefore_filter:foo,:only=>[:index,:show,:other,:actions]有没有更

ruby-on-rails - 基于不同于 ID 的东西的 Rails Route

所以目前当我想查看用户个人资料时,我有类似/users/1/的东西。我如何通过routes.rb将其更改为/user/chiggins/其中chiggins是唯一的用户名? 最佳答案 你需要重写User模型中的to_param方法:classUserdefto_paramusernameendend然后rails将自动使用它进行路由。参见http://api.rubyonrails.org/classes/ActiveRecord/Base.html#method-i-to_param

ruby-on-rails - "omniauth-twitter"电子邮件 ID 未从 ruby​​ on rails 中的 Twitter 获取

我正在使用omniauth-twittergem在我的Rails应用程序中启用Twitter登录。这是我的代码...gem文件-gem'omniauth','~>1.1.1'gem'omniauth-twitter'路线.rb-match'/auth/twitter/callback',to:'users#twitter_login'match'auth/failure',to:'static_pages#home'用户Controller.rb-deftwitter_loginauth=request.env['omniauth.auth']authentication=Authen

ruby-on-rails - 在 Rails 中使用没有父 ID 的嵌套资源

我有一个名为Imprintables的类,其中包含嵌套资源Styles、Brands、Colors和尺寸。我目前在我的路线文件中有这个:resources:imprintablesdoresources:styles,:brands,:colorsresources:sizesdocollectiondopost'update_size_order'endendend产生这样的路线:/imprintables/:imprintable_id/brands/imprintables/:imprintable_id/colors/imprintables/:imprintable_id/s

ruby-on-rails - Ruby on Rails before_filter 与 ruby​​ 的初始化

只是我的一个想法。下面有什么区别before_filterclassApplicationControllerruby初始化classApplicationControllerruby的初始化方法在rails中是否按预期工作?如果是,那么我们是否可以在必须将过滤器应用于Controller中的所有操作的地方使用初始化? 最佳答案 对于每个请求,您确实会得到一个新的ApplicationController实例,但是这里最大的禁忌是您试图覆盖ActionController::Base#initialize的核心行为不调用父行为。Ap