资源路由链接到不正确的操作

时间:2013-05-31 08:45:19

标签: ruby-on-rails ruby-on-rails-3

我刚开始使用rails并遇到了一些困难。我正在尝试创建一个基本表单,将新的条目添加到“主”数据库。当我提交表单时,而不是运行“新”,它似乎试图运行“更新”,根据文档应该调用/ photos /:id

我在浏览器上遇到错误

未知行动

无法找到AdminController

的操作'更新'

控制器:

class AdminController < ApplicationController
    def index
    @post = Main.create
    end

    def new

    end
end

index.erb.html:

<%= form_for @post, :url => { :action => "new" }, :html => {:class => "nifty_form"} do |f| %>
  <%= f.text_field :title %>
  <%= f.text_area :entry, :size => "60x12" %>
  <%= f.submit "New" %>
<% end %>

路线:

Tasks::Application.routes.draw do
   root :to => "Main#index"

   resources :main
   resources :admin

1 个答案:

答案 0 :(得分:2)

在Rails中new应该显示表单以输入新项目。
edit用于显示表单以编辑现有项目。

如果表单数据是新项目,则POSTmains_url添加到PUT;如果是退出项目,则表单POSTcreate被转到PUT行动 update被路由到create操作。

因此,要创建项目,您必须实施update,要更新它,您必须实施rake routes

{{1}}