我正在尝试在 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]
希望对您有帮助:)