Rails 3:没有路由匹配错误

Rails 3:没有路由匹配错误

我正在尝试在 Rails 3 中创建一个简单的表单。但面临这个问题:

Showing /home/praveen/rails_projects/mebay/app/views/ads/new.html.erb where line #2 raised:

No route matches {:action=>"create", :new=>"new", :controller=>"ads"}

 <h1> New Ad</h1>
 <% form_for @ad, url:{action: "create"} do |f| %>
 <p>
 <b>Name</b>
 <%= f.text_field :name %>

我是 Rails 的初学者,但根据我的理解,config/route.rb 中存在一些问题。

我已经在此文件中声明了以下路线......

get 'ads/:new'=>'ads#new'
get 'ads/:create'=>'ads#create'
get 'ads/'=>'ads#index'
get 'ads/:id'=>'ads#show'

最后是我声明了我的功能的控制器文件:

class AdsController < ApplicationController
def new
    @ad=Ad.new
end

如果需要更多信息,请告诉我。

答案1

嘿@Praveenks,如果您是 Rails 初学者,我建议您使用脚手架生成器。

rails 生成脚手架广告 attribute1:type attribute2:type...

这样,rails 就会为您的广告模型生成控制器、视图和路由。

顺便说一句,要创建您想要的路线,请尝试在 routes.rb 文件中执行以下操作:

资源:广告,仅:[:new,:create,:index,:show]

希望对您有帮助:)

相关内容