Tag: forms

Rails 4 form_for双嵌套注释

首先,我已经找到了一些非常有用的答案(见下面的链接),但我仍然在努力使这项工作成功。 我没有长时间编程,这绝对是我觉得自己理解的理解。 我有三个型号。 例如,我称之为Tree,Bark,Engraving(评论)。 我正在尝试添加一个简单的表单部分供用户提交新评论(雕刻)。 以下设置产生错误: / trees / 1的NoMethodError未定义的方法`tree’表示nil:NilClass 控制器 class TreesController @bark) end end class BarksController @bark) @engravings = Engraving.where(bark_id: @bark.id) end end class EngravingsController < ApplicationController def show @bark= Bark.find(params[:bark_id]) @engraving = Engraving.new(params[:engraving]) end end def create @bark = Bark.find(params[:bark_id]) @engraving = Engraving.new(params[:engraving]) @engraving.user_id = current_user.id respond_to do |format| if @engraving.save format.html […]

更改rails form_tag中的accept-charset属性

rails form_tag默认为UTF-8。 我想将表单更改为接受ISO-8859-1。 从我所看到的,似乎以下应该工作: ‘checkoutForm’ , :’accept-charset’ => ‘ISO-8859-1’ do %> 它不会改变接受字符集。 这是rails的问题还是我做错了什么?

accepts_nested_attributes_for使表单字段不显示

当我使用accepts_nested_attributes_for ,相应的字段不再显示在我的视图中。 class Survey < ActiveRecord::Base has_many :questions accepts_nested_attributes_for :questions end class Question < ActiveRecord::Base belongs_to :survey end 然后在我看来: 如果我删除accepts_nested_attributes_for然后text_area显示,但如果我保留它…没有任何东西得到渲染。 我正在运行Rails 3.0.3

如何在rails中构建复杂的表单,允许我关联或创建新的相关实体?

关于rails复杂forms的stackoverflow有很多问题,它们似乎都指向了Ryan Bates关于这个主题的漂亮的railscast演示: part1和part2 。 这对它的作用很有帮助,但我没有看到解决您可能想要创建新子对象的情况的问题,或者您可能想要关联已存在的对象。 在我的情况下,我希望用户能够创建一个新的事件。 作为其中的一部分,他们需要说明谁参与了事件。 大约一半的时间,添加到事件中的人员已经存在于数据库中。 在这种情况下,应鼓励用户使用这些现有记录而不是创建新记录。 关于如何在表单中处理这种复杂性的任何建议? 作为解决方案的一部分,您是否建议,如果用户未找到应用程序继续执行的人并在提交父对象之前动态创建它? 我的想法(但有兴趣听取建议)是用户应该使用现有的Person记录(如果有),但是如果用户需要创建一个新的Person记录,则该新记录不会提交给DB,直到用户提交事件。 思考?

Rails 4:f.select返回字符串而不是整数

我有用户注册表。 用户必须通过选择选项选择他的国家/地区。 当我提交表单我得到错误国家(#70309119520500)预期,得到字符串(#8039220)请帮助我请如何将字符串转换为整数,以便我可以在数据库中插入记录。 ruby -v: ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux] rails -v: Rails 4.1.8 这是我的html.rb表单 这是请求 Parameters: {“utf8″=>”✓”, “authenticity_token”=>”34/KncZpwhEDYRZuWe09nKmF7DG7+lEu0IBxe9YbKnE=”, “user”=>{“firm”=>”Chillum doo”, “name”=>”myname”, “last_name”=>”mylastname”, “address”=>”myAdress”, “post_number”=>”0000”, “city”=>”myCity”, “country”=>”1”, “telephone”=>”000000000”, “mobile_phone”=>”000000000”, “user_name”=>”myUserName”, “email”=>”myEmail@gmail.com”, “password”=>”[FILTERED]”, “password_confirmation”=>”[FILTERED]”}, “commit”=>”Create Account”} 用户控制器 class UsersController < ApplicationController def new @user = User.new end def create @user = User.new(user_params) if @user.save! redirect_to […]

Rails Paperclip和AJAX表单

我有一个包含表单的模式,用户可以在其中上传照片。 正确上传照片后,我想通过Ajax响应并显示消息。 不幸的是,表单是以HTML格式提交的,而不是JS格式的。 任何的想法? 表格代码: {:controller => ‘objects’, :action => ‘create’}, :remote=> true, :html => { :multipart => true }) do |f| %> Upload 谢谢

rails 4 form_tag用法

我正在使用rails 4.0.2框架。 我有一个图片脚手架,从’图片’的显示页面我很难添加一个简单的内置表单,以将其转发到电子邮件地址。 输入电子邮件并单击“转发”按钮后,它应在电子邮件中发送当前图片链接。 但我正在努力实现这一目标。 我使用动作’create’创建了一个控制器’forward_picture’,并将其作为资源添加到config / routes文件中。 然后我在图片视图中创建了一个表单,如下所示。 意见/图片/ show.html.erb … “forward_picture”, :action => “create”) do %> 这是在forward_picture_controller中嵌入表单,传递参数和调用适当的操作(创建)的正确方法吗? 如何在rails 4中使用强参数策略来访问控制器中的参数? 在控制器中,我可以构造一个适当的URL来发送给定的电子邮件地址。 任何帮助表示赞赏。

Rails:有条件地显示/隐藏表单字段的最佳方式?

我有一个模型文档 ,它具有属性种类和上下文 。 Kind是一个整数,用作枚举(使用优秀的active_enum gem)。 上下文仅适用于类型为“2”的文档,即如果文档是2以外的任何类型,则上下文将为空白。 因此,在表单页面中创建一个新文档,我有一个来选择类型,并为上下文创建一个textarea,它最初是隐藏的: … … 并且使用jQuery的show()和hide()方法显示和隐藏textarea,该函数绑定到下拉列表中的change()事件。 到现在为止还挺好。 但是在文档的编辑页面上,我不希望上下文textarea 始终隐藏在初始页面加载上,因为我们可能正在编辑类型2的文档。 因此,如果我们正在编辑类型2的文档,我希望最初显示textarea,但在其他情况下隐藏。 这就是我现在拥有的: 有没有更好的方法呢? 这对我来说有点冗长和多余; 有没有办法我只能调用f.text_area并f.text_area包含style:选项? 还是我在思考这个?

在渲染Ruby on Rails后保留params

我有一个属于User的项目。 在我的用户视图中,我有一个链接来添加一个新项目,其中包含我想要添加项目的用户的参数。 “project”, :action => “new”, :id => @user %> Url: /projects/new?id=62 将项目添加到用户工作。 问题是在添加新项目时validation失败并且我进行了渲染。 def create @project = Project.new(params[:project]) if @project.save redirect_to :action => “show”, :id => @project.id else render :action => “new” end end 视图: params[:id] %> 路线 resources :users do resources :projects end 如何在渲染后为用户保留参数? 或者有更好的方法来做到这一点? 一直在看很多类似的问题,但无法让它发挥作用。

是否可以使用范围作为与simple_form关联的源?

是否可以使用范围作为关联来源? class User < AR scope :active_users, where('status = 4') … # form …