form_for没有出现

时间:2013-02-23 13:17:50

标签: ruby-on-rails routing

我有一个名为“ExpDemo”的模型,想要从“MainController”中使用它。

我设置了这样的代码:

main_controller.rb

def pre
  @demo = ExpDemo.new
end

主/ pre.html.erb

<% form_for(@demo) do |f| %>
  ...
<% end %>

直到这里,我遇到了“路径”错误。

undefined method `exp_demos_path'

所以,我在routes.rb中添加了以下内容,错误信息消失了。

resources :exp_demos

现在,表单未显示在HTML页面中。 我认为路由设置是问题,但我不知道如何解决它。 请帮我解决这个问题。

2 个答案:

答案 0 :(得分:22)

您忘记了{_ 1}} for form_for

=

答案 1 :(得分:0)

解决方案:您忘记了=

<% form_for更改为<%= form_for

<强>解释

<% %>执行不输出结果的红宝石代码

<%= %>执行    ruby代码和输出HTML

换句话说,您的表单已创建(这就是为什么没有显示错误)但不会以HTML格式打印。