Это мой код для моего index.html.erb scaffold , так как вы можете видеть, что если else останавливает пользователя «показывать, редактировать или уничтожать» записи . Однако они могут создать новую запись Rota, нажав «Создать» Rotum. Я могу избавиться от административной части в Show, edit, destroy и , и каждый сможет сделать все. Но я хочу, чтобы пользователь имел возможность только показать правку, уничтожить их запись OWN и не все elses тоже , потому что это то, что происходит, когда я аутентифицирую пользователя для этого?Devise gem User Authentication Ruby on Rails
<h1>Listing rota</h1>
<table id = "tabletest">
<thead>
<tr>
<th>Name</th>
<th>Mobile</th>
<th>Email</th>
<th>Category</th>
<th>Other</th>
<th colspan="3"></th>
</tr>
</thead>
<tbody>
<% @rota.each do |rotum| %>
<tr>
<td><%= rotum.name %></td>
<td><%= rotum.mobile %></td>
<td><%= rotum.email %></td>
<td><%= rotum.category %></td>
<td><%= rotum.other %></td>
<% if current_user.try(:admin?) %>
<td><%= link_to 'Show', rotum %></td>
<td><%= link_to 'Edit', edit_rotum_path(rotum) %></td>
<td><%= link_to 'Destroy', rotum, method: :delete, data: {
confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
<% end %>
</tbody>
</table>
<br>
<% if user_session %>
<%= link_to 'New Rotum', new_rotum_path %>
<% end %>
Я попробовал это, и администратор может сделать все, но когда пользователь входит в это говорит. « NoMethodError в/Rota неопределенный метод' user_id»для # » –
Rahid