2011-08-17 56 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 

它應該工作。