我有一个服务请求消息对象,它可以是私有的,这意味着它只对创建服务请求的用户和编写消息的人可见。下面的代码可以工作,但很混乱。有没有更好的方法来做到这一点,那就是更干净/干燥一点?
<% m = @message %>
<% if m.private == true %>
<% if m.user_id == current_user.id || @service_request.user_id == current_user.id %>
<div class="jumbotron">
<%= render 'service_request_messages', service_request_message: m %>
</div>
<% end %>
<% else %>
<div class="jumbotron">
<%= render 'service_request_messages', service_request_message: m %>
</div>
<% end %>
字符串
希望保持干燥
2条答案
按热度按时间sbtkgmzw1#
字符串
nxagd54h2#
如果
private
是列名,那么使用它可能不是个好主意例如,在模型中,你不能轻易地访问
private
属性,因为它是保留的Ruby字最好使用
published
列我建议这样的变体
字符串
您只需要在相应的实体中定义这些方法来比较用户id