に属しているUser
モデルのhas_many shifts
とShift
モデルがあります。なぜ路線無しのエラーが出るのか理解しようとしています。Rails 4に対応するルートがありません
routes.rb
で:
get 'users/:id/shifts' => 'users#shifts', :as => :user_shifts
resources :shifts
私のようなルートを作成しました:
user_shifts GET /users/:id/shifts(.:format) users#shifts
をし、私のようなページにリンクするために私のナビゲーションビューでそれを使用する:で
<li><%= link_to "Shifts", user_shifts_path(@shifts) %></li>
私のUsers
コントローラ:
def shifts
@user = User.find(params[:id])
@shifts = @user.shifts
end
ユーザ/ shifts.html.erb:
<% @shifts.each do |shift| %>
<%= shift.start_time %>
<% end %>
エラー:
No route matches {:action=>"shifts", :controller=>"users", :id=>nil} missing required keys: [:id]
が、私は手動でhttp://localhost:3000/users/7/shifts
URLを入力するとき、それは動作しますか?
私は関連する質問への回答ですべてを試しましたが、何もできないようです。誰か助けてもらえますか?
トレース:
app/views/layouts/_nav.html.erb:24:in `_app_views_layouts__nav_html_erb__2914379975493970040_70146050606840'
app/views/layouts/application.html.erb:13:in `_app_views_layouts_application_html_erb___3858195360324705958_70145981089600'
よう その何かが、私が試した動作しません([@user、@shift])は、それが離れてエラーを取ったが、その後、私は 'id'が更新ソリューションをお試しください – Mohammed
notfind可能性のようなエラー何かを受け取りました。 – Dharam
nilのための '未定義のメソッドid ':NilClas'完全なトレースが必要な場合は、私もトレースを更新していません! – Mohammed