2011-08-17 28 views
0

这里是我的new.html.erb文件下没有路由匹配创建

<%= form_for(:subject, :url => {:action => 'create'}) do |f| %> 

我只是想在我的数据库中插入一条记录。

这里是低于

end 

我subjectscontroller.rb文件这是我下面

get "subjects/create" 

route.rb文件当我本地主机上运行:3000 /主题/新运行完美。然后我尝试通过插入文本框的值,当我点击创建我的形式主题按钮,它尽快,否则我是深陷困境让我没有路由匹配create.Please解决我的问题

+1

深陷困境?很抱歉听到这个消息。 – Larsenal

回答

2

你”已经定义了一个响应HTTP GET的路由。提交表单时,您将发送HTTP POST。这是您当前错误消息的来源。

之前恐慌,花几分钟的时间通过这个Rails Guide路由上阅读。我认为这将有助于澄清如何继续。

+0

请做一些其他的帮助,它并不适用于me.is工作有什么是我,而不是使用url..please请帮我保险业监督马麻烦的家伙 – sagar

+0

你阅读我所提到的文件? – Larsenal

0

你应该对象添加到路由作为资源。

AppName::Application.routes.draw do 
resources :subjects 
root :to => "demo#index" 
get ':controller(/:action(/:id(.:format)))' 
end 

你的控制器应该是这样的

def create 
@subject = Subject.new(subject_params) 
if @subject.save 
    redirect_to(:action => 'list') 
else 
    render('new') 
end 
end 

private 
def subject_params 
    params.require(:subject).permit(:id, :name, :position, :visible) 
end 

它应该工作。