HTML表单不在rails中工作

时间:2014-09-24 09:39:38

标签: ruby-on-rails ruby ruby-on-rails-4

我有一个表单可以在我的rails应用中创建一个新的类别(new.html.erb),它在另一个视图(panel.html.erb)中有GET链接。

当我直接在浏览器地址栏中输入网址以创建新类别时,POST工作正常,但每当我尝试通过链接从panel.html.erb访问新的类别表单(new.html.erb)时,表单已呈现但数据未提交 我已将路线定义为

get '/catagories/new'

用于新的类别表单和

post 'catagories/create'

用于创建新类别。我是Rails的新手,并且真的不明白我的代码有什么问题

1 个答案:

答案 0 :(得分:3)

默认情况下,rails表单提交到/categories而不是categories/create(Restfull路由)。您应该将您的路线定义为资源:

resources :categories

如果要覆盖默认值(不建议初学者使用),可以在form_tag中执行此操作:

<%= form_for @category, url: '/categories/create' %>

但请注意,这将使以后更改此网址变得更加困难(因为现在有两个地方需要更改,路线和表单)。然后,您应该使用命名路由:

post 'catagories/create', as: :create_category

然后:

<%= form_for @category, url: create_category_path %>