0

我刚开始使用rails并且遇到了一些困难。我正在尝试创建一个基本表单,它将向“主”数据库添加一个新条目。当我提交表单时,它似乎不是运行“new”,而是试图运行“update”,根据文档,它应该由 /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
4

1 回答 1

2

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

如果它是一个新项目或者它是一个现有项目,那么表单数据将被POST编辑。被路由到动作。被路由到动作。mains_urlPUT
POSTcreate
PUTupdate

所以,要创建一个项目,你必须实现create,要更新它,你必须实现update

rake routes
于 2013-05-31T08:57:23.280 回答