_form部分未定义方法`staticpages_path'错误

时间:2011-01-17 10:55:37

标签: ruby-on-rails ruby

我的偏见有些不对劲:

<% form_for(@static) do |f| %>
  <%= f.error_messages %>

  <div class="field">
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </div>
  <div class="field">
    <%= f.label :content %><br />
    <%= f.text_area :content %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

编辑方法:

def edit
    @static=Staticpage.find(params[:id])
  end

我在routes.rb中使用此解决方案

resources :static

怎么了?

2 个答案:

答案 0 :(得分:0)

rake routes
在终端

看看你的路径是什么,

它可能是routes.rb, 也许

resources :staticpages

?只是一个猜测

答案 1 :(得分:0)

原因是您的模型称为静态页面,但在您的路线中,您只能将其称为静态,因此不匹配。您可以通过多种方式解决此问题。例如:

#routes.rb
resources :staticpages

如果您不想这样做,那么您也可以手动指定调用form_for的路径,如下所示:

<% form_for(@static, :url => static_path) do |f| %>

而且,您可以将模型重命名为Static,但我认为这是更复杂的解决方案,因为它可能会影响很多其他事情。