Tag: ruby on rails 3

使用rails 3以内部forms更新嵌套表单和现有数据

我正在尝试使用嵌套的表单视图来正确更新。 然而,当第二种forms具有现有数据时,这会引起问题。 我正在使用accepts_nested_attributes_for和nested_form_for。 第二个目的是使用js动态添加表单元素。 有关更多信息,请参阅github 我得到的错误是: Couldn’t find Muscle with ID=3685340 for Exercise with ID=212831413 我试图手动进行更新,但我的代码并没有真正起作用,我的印象是它不应该被需要因为rails假设在引擎盖下处理它。 这个想法是:练习通过目标有很多肌肉,而且在练习forms中,我希望能够增加目标肌肉。 我的模特: class Exercise :destroy has_many :muscles, :through => :targets accepts_nested_attributes_for :muscles, :reject_if => :all_blank … end class Target true belongs_to :muscle end class Muscle :destroy has_many :exercises, :through => :targets end 我的(haml)观点: %p %b Target(s): = f.fields_for :muscles […]

Link_to(image_tag …)在本地工作但在Heroku部署中中断

相当简单的ruby代码在localhost上运行时运行正常,但在向上推送到heroku时会中断。 这里是: “u_profile_img_small”, :title => r.user.name), r.user %> 这是Heroku日志中的错误,指的是上面的link_to行: ActionView :: Template :: Error(错误的参数个数(2个为1))… 是什么赋予了? 有任何想法吗? 谢谢!

Rails不会找到CSV固定装置

我正在尝试使用CSV灯具,但是当我做rake db:fixtures:load ,它抱怨test/fixtures缺少YAML文件。 当灯具在YAML中并且文件以.yml结尾时, .yml 。 此外,当我查看activerecord-3.2.3/lib/active_record/fixtures.rb中的代码时,我完全看不到对CSV处理的引用。 看来fixtures.rb只知道如何使用YAML灯具。 这是什么? CSV固定装置已被弃用?

类User(TypeError)的超类不匹配?

我和Heroku有困难。 我做了heroku logs并收到错误消息: /app/app/models/user.rb:1:in `’: superclass mismatch for class User (TypeError) /app/app/models/user.rb:1:in `’: superclass mismatch for class User (TypeError) 2013-11-28T03:39:50.220378+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/activesupport- 3.2.11/lib/active_support/dependencies.rb:251:in `require’ 2013-11-28T03:39:50.220378+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/activesupport- 3.2.11/lib/active_support/dependencies.rb:251:in `block in require’ 2013-11-28T03:39:50.220378+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/activesupport- 3.2.11/lib/active_support/dependencies.rb:251:in `require’ 2013-11-28T03:39:50.220378+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/activesupport- 3.2.11/lib/active_support/dependencies.rb:359:in `require_or_load’ 2013-11-28T03:39:50.220378+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/activesupport- 3.2.11/lib/active_support/dependencies.rb:236:in `load_dependency’ 2013-11-28T03:39:50.220378+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/activesupport- […]

特别是一对多的关系

我有一个带有User模型和House模型的Rails 3.1应用程序(这就像一个组)。 我已经在这两者之间建立了多对多关联模型Membership关系,并且有一些方法可以管理连接模型中某个房屋中用户的角色。 但我的问题是用户只有一个房子而不是很多。 所以我总是要做user.houses.first来得到他的房子(我已经设置了一个帮助房子,但是设计不好所以我试图把has_one :membership和has_one :house, :through => :membership而不是has_many :memberships和has_many :houses, :through => :memberships 。 但是每次我尝试从User访问house时我都会收到错误。 怎么可能像我试图做的那样用连接表设置这种一对多的关系? 先感谢您。

Ruby on Rails:同一表单中的多个输入字段 – 更改ID /值

有一个页面,其中有相同的东西的多个输入字段,post。 现在,当用户输入问题时,假设3个字段,保存到数据库的唯一字段是最后一个。 然而,它应该保存所有三个并给它们每个自己的post_id。 也; 如果用户没有为其他字段输入任何内容,则它也不应保存在数据库中。 new_step_4_html.erb projects_controller.rb def new_step_4 @post = Post.new end 现在,它只是提交一个:content字段,显然是因为它们都共享相同的id /值。 不幸的是,Railscasts#197适用于嵌套表单,因此他所做的javascript和帮助程序都适用于嵌套。 我认为这很简单。 来自IRC的人提到我可以在视图文件中做某种“3次”代码或其他什么?

评估数组是否包含ruby中的任何项目

是否有更好的方式来宣布这个? if current_user.received_replies.unread.count > 0 我想要做的只是在至少有一个unread对象的情况下匹配条件。

无法启动rails服务器mysql2 gem?

Ruby和rails noob,做了一个项目并且做到了这一点。 但是现在我在尝试运行rails服务器时遇到了这些错误。 我正在使用Windows vista和ruby 2.0.0。 D:/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2/mysql2. rb:2:in `require’: cannot load such file — mysql2/2.0/mysql2 (LoadError) from D:/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.3.11-x86-mingw32/lib/m ysql2/mysql2.rb:2:in `’ from D:/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.3.11-x86-mingw32/lib/m ysql2.rb:9:in `require’ from D:/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.3.11-x86-mingw32/lib/m ysql2.rb:9:in `’ from D:/Ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.3.4/lib/bundler/runti me.rb:72:in `require’ from D:/Ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.3.4/lib/bundler/runti me.rb:72:in `block (2 levels) in require’ from D:/Ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.3.4/lib/bundler/runti me.rb:70:in `each’ from D:/Ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.3.4/lib/bundler/runti me.rb:70:in `block in require’ from D:/Ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.3.4/lib/bundler/runti me.rb:59:in `each’ from […]

回形针是否需要所有4列(_file_name,_content_type等)?

我想知道Paperclip是否确实需要数据库中的所有四列: add_column :users, :avatar_file_name, :string add_column :users, :avatar_content_type, :string add_column :users, :avatar_file_size, :integer add_column :users, :avatar_updated_at, :datetime 我可以添加avatar_file_name吗? 而不是添加其他3列? 这是因为我不会使用paperclip而不是filecolumn gem。 它仅使用1列我不想填写回形针支持的所有列。

覆盖默认的Rails date_select

所以我想要做的是覆盖默认的date_select方法(我想做一个’可选/未指定的’日期输入)。 到目前为止我尝试过的是: LIB / overrides.rb ActionView::Helpers::DateHelper::DateTimeSelector.class_eval do def build_selects_from_types(order) select = ” order.reverse.each do |type| separator = separator(type) unless type == order.first # don’t add on last field select.insert(0, separator.to_s + send(“select_#{type}”).to_s) end select.insert(0, ‘HI!!’) # or whatever… select.html_safe end end 然后我在environment.rb的底部需要’覆盖’但是在启动WEBrick时我收到此错误: 〜/ .rvm / gems / ruby​​-1.9.2-p0 / gems / activesupport-3.0.0 / lib / […]