Tag: 形成

Ruby on Rails – 在另一个Model的表单上添加Model中的字段

我有两个模型Contract和Addendum 。 合同has_many :addendums和附录belongs_to :contract 创建新合同时,将自动创建新的附录,但创建新附录需要一些附加要素。 如何在合同表格中添加字段value ,该字段value是附录中的属性,而不是合同中的属性?

如何在Rails中将“新”操作重定向到“创建”?

在Rails中,我可以使用routes文件中的resources自动为CRUD操作创建一组路由。 这会创建index , new , create , edit , show , update和销毁路径。 我理解这些路由如何工作的一般流程,并且通常在调用路由时,根据传递到相应操作的参数创建模型对象,并创建相应的视图或将客户端重定向到另一个指定的操作。 new视图和edit视图都可以使用相同的_form partial来更新其各自操作中的模型对象。 但是,我很难理解客户端之后如何重定向到另一个操作。 例如,在new操作中,客户端被重定向到create动作,并且传递new中更新的模型对象以作为参数create 。 我不明白这是怎么回事,因为没有指定重定向,我看不出模型对象是如何变成参数的。 def new @article = Article.new end def create @article = Article.create(article_params) redirect_to(article_path(@article.id)) end _form部分:

Ruby on Rails Association Form

所以我正在使用ROR创建一个Web应用程序,我无法弄清楚这个表单的正确语法是什么。 我目前正在为评论和post制作一种关联类型的代码。 current_user.id %>

在Rails 3.1中有条理地将样式应用于回形针附件

我有以下型号: Post.rb class Post :destroy has_many :citations, :dependent => :destroy validates :title, :category_id, :content, :presence =>true acts_as_taggable_on :keywords accepts_nested_attributes_for :attachments, :allow_destroy => true, :reject_if => proc { |attributes| attributes[‘photo’].blank?} accepts_nested_attributes_for :citations, :allow_destroy=>true end Attachment.rb class Attachment { :medium => “637×471>”, :thumb => Proc.new { |instance| instance.resize }, :carousel => Proc.new { |instance| instance.decide_style } }, […]

在为“/ edit”视图填充表单字段时,Rails app config.time_zone不适用

我在我的Rails应用程序中指定了config.time_zone,但表单字段中检索到的时间仍然呈现为UTC(这会在更新时产生问题)。 这不应该转换为指定区域的当地时间吗? /config/application.rb(仅限相关行): module ExampleSite class Application < Rails::Application config.time_zone = 'Central Time (US & Canada)' end end /events/edit.html.erb(完整文件): Edit This Event f %> /events/_fields.html.erb(仅限相关行:) “datetimefield” %> “datetimefield” %> 当我输入datetime字符串来创建一个新事件时,该值被正确保存(以UTC为单位)并在我的视图中根据需要(在本地时区)呈现,它在config.time_zone开关之前呈现UTC(所以我知道开关已经制成了)。 但是当我去编辑事件的任何其他属性时,在/ edit视图中呈现给表单字段的时间是UTC时间 – 这意味着当我更新事件时,时间会被重新保存,就像时间那样已重新输入并假定为本地,当系统将“已更新”时间属性转换为UTC进行存储时,将时间移动5小时(我与UTC的本地差异)。 如何在表单字段中呈现本地化时间? 运行Rails 3.0.5,部署到Heroku(尽管开发和生产环境中存在问题)

Rails 3提交带有链接的表单

我如何提交带有正确rails 3格式链接的表单? 谢谢。 我的代码示例。

将ActionView :: Helpers :: FormBuilder传递给部分

鉴于某个AJAX请求,我正试图以动态创建表单元素。 这是我的设置: 视图: true %> 控制器: def check_unique_id @student = Student.new @this_form = ActionView::Helpers::FormBuilder.new(:student, @student, @template, {}, proc{}) end JS: jQuery(“#guardian_student_details”).html(” “student_details”, :locals => { :s => @this_form }) %>”); 部分: 出于调试目的,我在部分的开头放置了以下行: 打印出: ActionView::Helpers::FormBuilder Student 这应该工作。 但是rails会出现以下错误: ActionView::Template::Error (undefined method `text_field’ for nil:NilClass): 1: 2: 3: ‘text_input is_empty’ %> 4: * 5: 6: app / […]

使用表单选择使用Money gem设置货币

我已经在这个工作了几个小时,但我无法弄清楚这一个。 我愿意让用户为他填写表格的价格选择相应的货币。 我正在使用Money Gem(https://github.com/RubyMoney/money)。 所有值都设置正确但不是仅通过表单发送的设置为其默认值(USD)的货币。 我想这是我对Moneygem缺乏经验。 在我的模型中: require ‘money’ composed_of :price_per_unit, :class_name => “Money”, :mapping => [%w(cents_per_unit cents), %w(currency currency_as_string)], :constructor => Proc.new { |cents_per_unit, currency| Money.new(cents_per_unit || 0, currency || Money.default_currency) }, :converter => Proc.new { |value| value.respond_to?(:to_money) ? value.to_money : raise(ArgumentError, “Can’t convert #{value.class} to Money”) } composed_of :total_price, :class_name => “Money”, :mapping […]

rails如何决定使用PUT或POST方法呈现表单?

Rails生成一个表单部分,可以在get动作呈现的页面和新动作呈现的页面上使用。 如果是前者,则将表单的方法设置为PUT,如果后者将表单的操作设置为POST。 rails如何决定使用哪种方法?

ActiveRecord :: MultiparameterAssignmentErrors是什么意思?

我有一个带有datetime_select字段的rails表单。 当我尝试提交表单时,我得到以下exception: ActiveRecord::MultiparameterAssignmentErrors in WidgetsController#update 1 error(s) on assignment of multiparameter attributes 如果是validation错误,为什么我在页面上看不到错误? 这是在Rails 2.0.2中