NoMethodError undefined method `name' for nil:NilClass
が出てしまいます。エラーの内容はnew.html.erbの3行目において@groupがnilになっているみたいです。
groups_controller.rbのshowアクションでelseのほうからSession_group_controller.rbにGroup.find(params[:id])を渡しているつもりなのですがうまくいきません。解決策分かる方いればお願いします。
groups_controller.rb
class GroupsController < ApplicationController before_action :logged_in_user, only: [:search,:show] def new @group = Group.new end def search @group = Group.search(params[:search]) end def show if group_logged_in? @group = Group.find(params[:id]) @shift = Shift.new else redirect_to group_log_in_path end end
Session_group_controller.rb
class SessionGroupController < ApplicationController def log_in @group = Group.find(params[:id]) end end
search.html.erb
<% provide(:title, 'グループを探す') %> <h1>グループを探す</h1> <div> <%= form_tag(group_search_path) do %> <%= label_tag :name, "名前" %> <%= text_field_tag :search, params[:search] %> <%= submit_tag "検索" %> <% end %> </div> <% @group.each do |group| %> <%= group.id%> <%= link_to group.name, group ,id: group.id %></br> <% end %>
new.html.erb
<% provide(:title, "Group Log in") %> <h1>Group Log in</h1> <%= @group.name %> <div class="row"> <div class="col-md-6 col-md-offset-3"> <%= form_for(:session, url: login_path) do |f| %> <%= f.label :password %> <%= f.password_field :password, class: 'form-control' %> <%= f.submit "Log in", class: "btn btn-primary" %> <% end %> <p>New user? <%= link_to "Sign up now!", signup_path %></p> </div> </div>
あなたの回答
tips
プレビュー