草庐IT

Form-Model

全部标签

ruby-on-rails - 目录 : Model validation question

我有一个基本的ActiveRecord模型,其中我有两个要验证的字段。要求是至少有一个字段必须有值。两者都可以有值,但至少有一个需要有值。我该如何表达validates_presence_of声明?例如:validates_presence_of:main_filevalidates_presence_of:alt_file我不希望只有其中一个为空时才产生错误,只有两个都为空时才产生错误。 最佳答案 validates_presence_of:main_file,:if=>Proc.new{|p|p.alt_file.blank?}

ruby-on-rails - Rails 教程 3 第 7 章 : User Model Rspec Test Failing

我一直在成功地遵循Rails教程3,直到我到达第7章并实现了用户模型,现在我的rspec一直失败。这是我的user.rb文件输出classUsertrue,:length=>{:maximum=>50}validates:email,:presence=>true,:format=>{:with=>email_regex},:uniqueness=>{:case_sensitive=>false}validates:password,:presence=>true,:confirmation=>true,:length=>{:within=>6..40}before_save:encr

ruby-on-rails - ruby rails : Search Form - multiple search fields

我正在尝试创建一个允许用户搜索数据库的应用程序。搜索页面布局将与一些下拉菜单一起使用,这些菜单将显示数据库中已有的数据以缩小搜索范围,以及允许用户输入关键字(如“项目名称”)的文本框。我在让Rails获取已在搜索表单中输入的所有信息并执行一次大搜索时遇到了问题。这是我的搜索布局的一部分:'get'do%>nil%>nil%>这是我在项目Controller中的索引和搜索操作:defindex@projects=Project.allrespond_todo|format|format.html#index.html.erbformat.json{render:json=>@projec

html - rails : Wrap parameter coming from form in a nested hash

我有以下用于搜索的表单,它还应该执行过滤:我现在要做的是将用于过滤的参数包装在嵌套哈希中,以便我在参数中有如下内容:{"utf8"=>"✓","search"=>"term","action"=>"index","controller"=>"search","filter"=>{"field"=>"value"}}。请注意,过滤器参数是嵌套的我找不到使用标准Rails表单助手来执行此操作的方法。有什么办法吗? 最佳答案 在您想要的嵌套键周围使用[]。在您的示例中,将您的check_box更改为:如果您想要以下形式的内容:{"filt

ruby-on-rails - 如何使用带有 simple_form 的 country_select gem 列出选择中的所有国家/地区

我已经添加了gem'country-select'到我的gemfile,我需要在选择中列出所有国家。我试试但国家没有出现。文档中没有关于此的信息。请帮我解决这个问题。 最佳答案 试试这个 关于ruby-on-rails-如何使用带有simple_form的country_selectgem列出选择中的所有国家/地区,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/18302078/

ruby-on-rails - rails : force a model to be not valid

我有一个非常特殊的情况,我想强制模型实例无效。像这样:user=User.newuser.valid?#trueuser.make_not_valid!user.valid?#false有什么办法可以实现吗?谢谢! 最佳答案 你可以这样做:validate:forced_to_be_invaliddefmake_not_valid!@not_valid=trueendprivatedefforced_to_be_invaliderrors.add(:base,'hasbeenforcedtobeinvalid')if@not_val

ruby-on-rails - Rack 和 rack.request.form_vars/rack.request.form_hash

我正在做一些中间件,在它到达Rails之前更改authenticity_token参数。我可以看到env.inspect给出了rack.request.form_vars和rack.request.form_hash。两者都包含真实性token。Rails使用哪一个?为什么Rack两者都提供? 最佳答案 让我们看看源码吧!这两个变量都来自使用Rack::Request辅助类。它为请求参数提供了一个很好的接口(interface)。Rack应用程序不需要使用它,但Rails确实会使用它。变量供Rack::Request内部使用。rac

ruby-on-rails - NilClass :Class 的未定义方法 'model_name'

浏览器在Locals#show中返回以下错误:NilClass:Class的未定义方法'model_name'51:52:53:54:这是我的locals_controller.rb(显示Action)defshow@local=Local.find(params[:id])@foods=@local.foods.paginate(page:params[:page])respond_todo|format|format.html#show.html.erbformat.json{renderjson:@local}end结束这里是foods_controller.rb(创建操作)de

ruby-on-rails - text_field_with_auto_complete 内 form_for

真的很简单的问题-如何在form_forblock中使用text_field_with_auto_complete?我试过执行f.text_field_with_auto_complete但这会出错,而且仅使用text_field_with_auto_complete本身似乎没有任何作用。我是不是漏掉了什么? 最佳答案 我个人使用这个:"off"%>并手动添加自动生成的Javascript和CSS。这是Javascript:newAjax.Autocompleter('customer_name','customer_name_au

ruby-on-rails - Ruby simple_form 为日期输入呈现 3 个字段

我在我的网站周围使用ruby​​gemsimple_form来处理不同的表单,想知道是否有一种方法可以合并/折叠默认呈现的日期输入:=f.input:dob,label:"DateofBirth",as::date,start_year:Time.now.year-90,end_year:Time.now.year-8,order:[:day,:month,:year]此代码生成三个输入字段:日、月和年。但我真正想要的是为所有三个字段设置一个字段,因此输入看起来像“05/05/1980”。如何实现? 最佳答案 要使用html5日期字