【发布时间】:2011-06-14 13:43:12
【问题描述】:
我有一个 ajax 表单:
_form.html.erb:
<%= form_for @innmelding, :remote => true, :html => { :id => 'kurs-form' } do |f| %>
innmeldings_controller.rb:
def create
@innmelding = Innmelding.new( params[:innmelding] )
flash[:notice] = "Lagret" if @innmelding.save
respond_with( @innmelding, :layout => !request.xhr? )
end
innmelding.rb:
class Innmelding < ActiveRecord::Base
belongs_to :laerer, :foreign_key => "ansvarlig"
belongs_to :laerer, :foreign_key => "overordnet"
has_many :kurss
validates_presence_of :dager_fra
end
宝石文件:
source 'http://rubygems.org'
gem 'rails', '3.1.0.rc4'
gem 'sqlite3'
gem 'mysql2'
gem 'sass'
gem 'coffee-script'
gem 'coffeebeans'
gem 'uglifier'
gem 'jquery-rails'
gem 'devise'
gem 'cancan'
gem 'haml'
gem 'event-calendar', :require => 'event_calendar'
gem 'therubyracer'
当“dager_fra”字段为空时,我收到以下错误:
"ERROR NoMethodError: undefined method `bytesize' for :dager_fra:Symbol"
我使用的是 rails 3.1-rc4(rc1 上的同样错误)和 ruby 1.9.2。我怀疑它与ruby 1.9有关。还没有设法让它在 ruby 1.8 上运行,所以我还没有验证这一点(我想我读过一些地方,bytesize 方法被移出了某些版本的轨道,因为它现在是 Ruby 1.9 的一部分)。
【问题讨论】:
-
似乎缺少从
Symbol到String的转换。bytesize是一个返回字符串长度的字符串方法。你在用什么插件/宝石? -
将 Gemfile 添加到我的问题中。
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1