Ruby on rails 钢轨走线,Nomethoderor
我正在使用Rails3.2和Ruby4。当我浏览到时,我得到一个错误:Ruby on rails 钢轨走线,Nomethoderor,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我正在使用Rails3.2和Ruby4。当我浏览到时,我得到一个错误: NoMethodError in Accounts#new Showing D:/row/dev/basic/app/views/accounts/_form_account.html.erb where line #1 raised: undefined method `accounts_path' for #<#<Class:0x42c8040>:0x6daa960> Extracted sour
NoMethodError in Accounts#new
Showing D:/row/dev/basic/app/views/accounts/_form_account.html.erb where line #1 raised:
undefined method `accounts_path' for #<#<Class:0x42c8040>:0x6daa960>
Extracted source (around line #1):
1: <%= form_for(@account) do |f| %>
2:
3: <div>
4: <%= f.label :username %><br>
但是,这不是在routes.rb中创建的。编辑后的My routes.rb是:
Basismysql::Application.routes.draw do
# Public pages
get '/page1' => 'pages#page1'
get '/page2' => 'pages#page2'
get '/page3' => 'pages#page3'
get "/account/index" => 'accounts#index'
get "/account/show" => 'accounts#show'
get "/account/new" => 'accounts#new'
get "/account/edit" => 'accounts#edit'
get "/account/delete" => 'accounts#delete'
get 'account/:id/delete' => 'accounts#delete', :as => :accounts_delete
devise_for :users
root :to => 'pages#index'
end
New.html.erb是:
<div class="container">
<h1>Accounts#new</h1>
<p>Find me in app/views/accounts/new.html.erb</p>
</div>
<div class="container">
<%= render "form_account" %>
</div>
<%= form_for(@account) do |f| %>
<div>
<%= f.label :username %><br>
<%= f.text_field :username %>
</div>
<div>
<%= f.label :firstname %><br>
<%= f.text_field :firstname %>
</div>
<div>
<%= f.label :lastname %><br>
<%= f.text_field :lastname %>
</div>
<div>
<%= f.label :organisation %>
<%= f.text_field :organisation %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
除此之外:
resources :accounts
您可能需要:
resource :account
您首先将routes单件餐添加到routes文件中,但其中一些需要是PUT
s或POST
s或DELETE
s<代码>资源:帐户是一个更简单的快捷方式(正确)
这不是创建路由的方式,它们都是未命名的(除了最后一个)、非restful的,并且都是get
,替换为
resources :accounts
您的错误将消失这是有效的
rails generate controller accounts index show new edit destroy
注意:生成控制器时,必须使用帐户,而不能使用帐户
rails generate model account
注意:您必须将帐户设置为单数
在routes.rb中
map.resources :accounts /or
resources :accounts
取决于rails的版本谢谢
资源:帐户
工作正常。我假设您提到了resource:account
,因为我编写了rails生成模型account
。这实际上是我问题中的一种类型,我确实使用了rails生成模型帐户
@Nick您应该在模型创建中使用单数account
,此帐户
模型的对应路径将是资源:accounts
。您根本不需要resource:account
。谢谢,rails生成模型account是一个输入错误。我确实使用rails生成模型帐户
rails generate controller accounts index show new edit destroy
rails generate model account
map.resources :accounts /or
resources :accounts