如果查看'post_controller / show',如何设置条件。
如果用户正在查看帖子,我希望在标题导航上显示“修改”按钮,而不设置不同的布局,只需依靠现有的_header.html.erb
进行导航。
# Header navigation partial _header.html.erb
<%= link_to 'Edit post', edit_post_path(@post) %>
我知道我可以拿一个参数并设置类似的子句:
<% if params[:id] %>
<%= link_to 'Edit post', edit_post_path(@post) %>
<% end %>
上述问题是,如果您访问与Post模型无关的其他路线,则会导致异常undefined method 'edit_post'
。
如果我可以摆脱许多布局和偏好,但是如果建议我应该在这个场景中使用布局和部分,那么我会。
非常感谢所有人。
答案 0 :(得分:2)
# Header navigation partial _header.html.erb
<%= yield(:edit_link) %>
#In your post_controller/show view :
<% content_for :edit_link, link_to('Edit post', edit_post_path(@post)) %>
就是这样。对于不同的模型等,您可以随时更改:edit_link
的内容......