私はhttp://ruby.railstutorial.org/ をフォローしており、chapter10にいます-マイクロポストを構築しますが、マイクロポストではなくthe_micropostsという名前を付けた後、この問題が発生しました:
static_page/home にアクセスすると、次のように表示されます。
未定義のメソッド `the_microposts_path' for #<#:0xb628402c>
アプリケーション トレースは次のとおりです。
app/views/shared/_the_micropost_form.html.erb:1:
_app_views_shared__the_micropost_form_html_erb___1052260201__619399208' app/views/static_pages/home.html.erb:9:in
in_app_views_static_pages_home_html_erb_ 733532872 _628014758'
メソッドを定義していないようですか?しかし、私は static_pages コントローラでそれを定義しました:
def home
@the_micropost = current_user.the_microposts.build if signed_in?
end
私のホームページ:
<section>
<%= render 'shared/the_micropost_form' %>
</section>
私の _the_micropost_form.html.erb は次のとおりです。
<%= form_for(@the_micropost) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<div class="field">
<%= f.text_area :content, placeholder: "Compose new micropost..." %>
</div>
<%= f.submit "Post", class: "btn btn-large btn-primary" %>
<% end %>
私のユーザーモデル:
has_many :the_microposts, dependent: :destroy
the_micropost モデル:
belongs_to :user
私のルート:
resources :users
resources :sessions, only: [:new, :create, :destroy]
root 'static_pages#home'
match '/signup', to: 'users#new', via: 'get'
match '/signin', to: 'sessions#new', via: 'get'
match '/signout', to: 'sessions#destroy', via: 'delete'
match '/help', to: 'static_pages#help', via: 'get'
match '/about', to: 'static_pages#about', via: 'get'
match '/contact', to: 'static_pages#contact', via: 'get'
何か間違っていますか?? 私はいつも手順に従っていますが、それは別の名前を定義したためですか?(the_microposts を microposts として)