【问题标题】:Formtastic semantic_form_for undefined methodFormtastic semantic_form_for 未定义的方法
【发布时间】:2012-01-13 22:59:07
【问题描述】:

我正在尝试使用带有下拉菜单的 Formtastic 设置表单。我的 Ruby 应用程序可以使用以下形式正常工作:

<%= form_for @message do |f| %>
  <%= f.error_messages %>
  <%= f.hidden_field :parent_id %>
  <p>
    <%= f.label :content, "Add a Country to your carrier" %><br />
    <%= f.text_area :content, :rows => 8 %>
  </p>
  <p><%= link_to "Reply", new_message_path(:parent_id => @london_message) %></p>
<% end %>

当我将 form_for 更改为 semantic_form_for 时,它会引发“未定义方法”错误。谁能解释这两种方法之间的区别以及为什么semantic_form_for 不起作用?

【问题讨论】:

  • 关于错误消息的更多上下文会有所帮助,因为它通常表明未定义方法的目标是什么......
  • 您能否确认“formtastic”在您的 Gemfile 中并且您已运行 bundle(并重新启动了您的 Rails 服务器?
  • @JesseWolgamott 我已将“formtastic”添加到我的 Gemfile 并运行 bundle install,但我还没有重新启动我的 Rails 服务器。愚蠢的错误,感谢您指出这一点

标签: ruby-on-rails rubygems formtastic


【解决方案1】:

form_for 和 semantic_form_for 是两个独立的表单构建器。它们有很多相似之处,但是 Formtastic 版本允许您使用很多速记方法来避免重复大量样板。

如果semantic_form_for 抛出“未定义的方法”,听起来好像没有正确加载 Formtastic。如果你进入 Rails 控制台并输入Formtastic,它应该返回“Formtastic”。如果你得到“未初始化的常量”,那么问题肯定是在 gem 加载过程中的某个地方。

【讨论】:

  • 感谢您解释差异。 rails 控制台显示 Formtastic 已安装,但我没有重新启动 rails 服务器。 semantic_from_for 现在工作正常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多