从Rails视图中删除逻辑

时间:2019-04-04 07:26:05

标签: ruby-on-rails ruby view

在下面的示例(如用户链接)中,是否可以清理视图?我记得在一本书中阅读过的if和else语句将其放入控制器之类的东西。目前无法找到它。

<% if current_user %>
    <%= link_to edit_post_path(blog) do %>
        <i class="fas fa-edit"></i> Edit Post
    <% end %>
    <%= link_to blog_post_index do %>
        <i class="fas fa-trash"></i> Delete Post
    <% end %>
<% end %>

2 个答案:

答案 0 :(得分:2)

您可以使用Rails视图帮助程序获取此类代码。

看..

https://api.rubyonrails.org/classes/ActionController/Helpers.html

答案 1 :(得分:0)

或者创建一个共享文件夹,然后将代码放入模板中。

例如:应用程序>视图>共享>链接> _user_link.html

然后在您的视图中调用:

= render "shared/links/user_link"

您还可以解析其他信息,例如:

= render "shared/links/user_link", f: f