Tag: 表格

Rails – 表现forms奇怪:不保存任何text_field

在Rails中 Matteo Alessani解决了我的问题后- 在表单中找不到ID ,我注意到我的表单没有保存我传递的字段。 我将在这里复制我从另一个问题得到的所有代码: 路线: resources :honors 模型: class Honor ‘Person’, :foreign_key => “person_id” belongs_to :honored, :class_name => ‘Person’, :foreign_key => “honored_id” belongs_to :group, :class_name => ‘Group’, :foreign_key => “group_id” 控制器: def new @person = Person.find(params[:person]) @honored = Person.find(params[:honored]) @group = Group.find(params[:group_id]) @honor = Honor.new end def create @person = Person.find(current_person) @honor = […]

在Ruby on rails Collection_select中包含多个列值。 同时格式化日期

早些时候我正在使用此代码 to make a dropdown. 现在我必须使用collection_select做同样的事情。 但我无法想象如何做到这一点。 它将类似于下面给出的东西: true %> 我甚至无法格式化日期并同时使用两个值。 请帮助,在此先感谢

Ruby spreadshet gem,我如何居中对齐数字

我正在使用http://spreadsheet.rubyforge.org生成一个电子表格,我遇到了麻烦。 我正在打开现有工作簿并向其中添加数据。 我已经设置了数字格式在某种程度上工作,至少excel是看到这个数据作为一个数字,但(非常不擅长)客户端希望数字在中心对齐:( 我当前的代码看起来像这样: nfmt = Spreadsheet::Format.new :number_format => ‘0.00’ row = sheet.row(1) row[0] = “Result” row[1] = 45.55 row.set_format 1, nfmt 也许有点牵强,但想知道是否有人可以提供帮助? 电子表格目前不会修改格式。 这尤其意味着,如果将单元格的值设置为日期,则只有在更改之前正确设置其格式时,才能将其作为日期读取。 编辑Trevoke 感谢您的帮助。 我已经尝试过你的代码了,它运行正常。 我猜不同之处在于我正在编辑现有的电子表格,在这种情况下会忽略格式化。 试试这个: require ‘rubygems’ require ‘spreadsheet’ Spreadsheet.client_encoding = ‘UTF-8’ book = Spreadsheet.open “edit_me.xls” # Blank spreadsheet sheet1 = book.worksheet 0 format = Spreadsheet::Format.new :horizontal_align => :centre sheet1.row(0).default_format […]

Rails – 警告:无法批量分配受保护的属性

继续从这里开始: Rails – 表单问题 ,每次我尝试创建一个新的group_membership我得到这个: WARNING: Can’t mass-assign protected attributes: group, member我的日志WARNING: Can’t mass-assign protected attributes: group, member和ID是空白。 一直在改变我的模型的attr_accessible ,但到目前为止还没有解决方案。 提前致谢。

如何在嵌套的Rails表单中引用模型的现有实例?

我正在尝试使用三个主要模型构建一个配方管理器应用程序: 食谱 – 特定菜肴的配方 成分 – 成分列表,经过独特性validation 数量 – 成分和配方之间的连接表,也反映了特定配方所需的特定成分的数量。 我正在使用嵌套表单(见下文),我在Nested Forms( 第1 部分 , 第2部分 )上使用了很棒的Railscast来构建灵感。 (由于这个特定模式的需要,我的表单在某些方面比教程更复杂,但我能够以类似的方式使它工作。) 但是,当我的表单被提交时,列出的任何和所有成分都会重新创建 – 如果成分已经存在于DB中,则它将无法通过唯一性validation并阻止创建配方。 总阻力。 所以我的问题是:有没有办法提交这个表格,以便如果存在一个名称与我的成分名称字段匹配的成分,它会引用现有成分而不是尝试创建一个具有相同名称的新成分? 以下代码细节…… 在Recipe.rb : class Recipe < ActiveRecord::Base attr_accessible :name, :description, :directions, :quantities_attributes, :ingredient_attributes has_many :quantities, dependent: :destroy has_many :ingredients, through: :quantities accepts_nested_attributes_for :quantities, allow_destroy: true 在Quantity.rb : class Quantity < ActiveRecord::Base attr_accessible […]

在t.string的预定义值中选择

有可能创建一个 collection_select 要么 select tag 为一个 t.string 用户可以在字符串的预定义值中进行选择,并且只允许那些值存储在字符串的数据库中? 例如 t.string :relationship_status 我想要预定义的值: In a relationship Single Maried Engaged ETC

Ruby on Rails:为什么选择框不显示当前对象值?

以下是来自views/products/edit.html.erb的相关代码: {:action => ‘update’, :id => @product.id}) do |f| %> “form”, :locals => {:f => f}) %> 来自views/products/_form.html.erb : 从helpers/products_helper.rb : def select_options_with_create_new(objects, text_field, value_field, options={}) object = objects.to_s.singularize all_objects = object.capitalize.constantize.all all_objects = all_objects.sort_by(&options[:order_by]) if options.has_key?(:order_by) select_options = all_objects.map{ |obj| [obj.send(text_field), obj.send(value_field)] } select_options <> #{str} < text_field)) end 我希望默认情况下选择框为@product.shop_id ,但这不是真的(第一个选项始终是默认值)。 我错过了什么?

当我尝试使用ajax调用自动保存表单字段时,在jQuery中获取错误

我正在尝试在rails 3项目中获取一个表单字段,以便在更改时自动保存。 我试图用以下jQuery ajax调用来做到这一点: $j(“#list_” + + “_item_” + ).live(“change”, function(){ $j.ajax({ beforeSend: function(request) { request.setRequestHeader(“Accept”, “text/javascript”); }, type: ‘POST’, url: ‘/update’, data: { value: $j(this).val(), id: ”, list_id: ” }, success: function(){ alert(“success”); } }); }); 每当更改文本框时,我在jQuery中收到以下错误: (c.value || “”).replace is not a function 这是在jQuery-1.5.min.js中。 我也遇到了与jQuery-1.4.2.min.js相同的错误。 (我更新到1.5,看看这对任何事都有帮助。) 关于我哪里出错的任何想法? 非常感谢。 编辑:哦,废话,当我的HTML发布时,我意识到我已经将.live()调用附加到表单输入元素的容器div而不是表单输入元素本身。 我有一个单独的问题,但我想我会发布一旦我找出可能导致它的原因…

来自嵌套/非嵌套和validation的rails中多个模型的最佳实践

注意:根据Brian的评论(从如何处理轨道forms的多个模型 )将其作为单独的问题发布 当模型既嵌套又非嵌套时,我正在尝试学习以单轨forms处理多个模型的最佳方法。 对于嵌套的,我发现这两个教程很有帮助 http://weblog.rubyonrails.org/2009/1/26/nested-model-forms http://railsforum.com/viewtopic.php?id=717 我的问题是: 对于非嵌套模型,如何处理第二个模型的多个条目? 只需运行一个循环,并使用fields_for? 在嵌套/非嵌套的情况下,当第二个模型有多个条目时,如何validation重复值? 例如,如果project是主要的,task是辅助(子)模型,并且用户为项目添加了多个任务,那么如何确保没有为该特定模型添加重复任务? 一种方法是循环文本值,并检查重复项。 有没有更好的方法,在对象级别,而不是字符串级别?

如何将remote_form_for的:update =>’div_id’选项从Rails 2升级到Rails 3?

我无法弄清楚如何将此代码从Rails 2升级到Rails 3: ‘div_id’) do |f| %> … 我试过这个: true, :url => { :controller => “items”, :action => “create” }, :update => ‘div_id’ do |f| %> … 它会创建新项目,但无法更新 标记内的内容。 似乎Rails 3不再支持远程form_for的“ :update ”选项。 有什么建议吗?