0

私は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:inin_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 として)

4

1 に答える 1