我不认为我需要问这个,但在这里。我有一个应用程序,可以让您查看,检入并在书本上设置提醒,例如,通过单击check_box完成此操作。因此,如果User1例如签出Book1,则该用户将只能在查看时看到签入按钮。然后如果同一用户检查那本书然后退房按钮将重新出现如果/其他/除非选择Rails
然后来到user2,他们查看同一本书,理论上不应该能看到任何按钮除了提醒我按钮(这发送电子邮件,当书被检查回来)由user1。
但是,使用当前设置,用户2仍然看到结帐按钮,但它已经打勾表示真实,这在状态方面是正确的,但我不希望那个按钮显示。
这是我迄今为止(逻辑的提醒我按钮犯规渲染什么)
<% unless current_user.id == @book.user_id %>
<%= render 'shared/checkout' %>
<% end %>
<% if current_user.id == @book.user_id %>
<%= render 'shared/checkin' %>
<% end %>
<% if @book.user_id != nil && current_user.id != @book.user_id %>
<% render 'shared/registerinterest' %>
<% end %>
此外,当用户检回一本书这是我通过这个模型,我就在想这个零值可能会导致一个问题?
<%= form_for @book do |f| %>
<%= f.label :checked_out, "Check Book Back In" %>
<%= f.check_box :checked_out, {checked: false}, false %>
<%= f.hidden_field :user_id, :value => nil %>
<%= f.submit 'Check In' %>
<% end %>
似乎无法让我的头围绕这个场景,所以如果有人可以解释为什么那么这将是伟大的,因为我可以从中学到
谢谢
编辑
IM现在尝试这种基于登录按钮的注册按钮
<% if @book.checked_out == true && current_user.id != @book.user_id %>
<% render 'shared/registerinterest' %>
<% end %>
但是这不起作用?
那么它不只是我呢? (除了这一个) – Richlewis