我的偏见有些不对劲:
<% 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
怎么了?
答案 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,但我认为这是更复杂的解决方案,因为它可能会影响很多其他事情。