我正在使用 Rails 4 并进行设计。我试图在我的“myevents”视图中使用 if 语句来仅显示属于当前登录用户的事件,任何人都可以帮忙,目前它返回所有事件并忽略 if 语句。我也尝试将 if 语句放在控制器中,但没有成功,这是我的代码:
//////////我的事件视图
<h1>My Events</h1>
<table>
<tr>
<th></th>
<th><%= sortable "name" %></th>
<th><%= sortable "date" %></th>
<th><%= sortable "time" %></th>
<th><%= sortable "description" %></th>
<th><%= sortable "dresscode" %></th>
<th><%= sortable "price" %></th>
</tr>
<% @events.each do |event| %>
<% if event.user_id == current_user %>
<tr>
<td><%= image_tag event.avatar.url %></td>
<td><%= event.name %></td>
<td><%= event.date %></td>
<td><%= event.time %></td>
<td><%= event.description %></td>
<td><%= event.dresscode %></td>
<td><%= event.price %></td>
<td><%= link_to "Show", event_path(event) %></td>
<td><%= link_to "Edit", edit_event_path(event) %></td>
<td><%= link_to 'Destroy', event_path(event),
method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% else %>
<%= puts "No events to display" %>
<% end %>
<% end %>
</table>
///////routes.rb 声明
get 'myevents', to: 'events#myevents'
////控制器动作
def myevents
@events = Event.search(params[:search]).order(sort_column + " " + sort_direction).paginate(:per_page => 5, :page => params[:page])
end