显示视图下的链接到
Posted
技术标签:
【中文标题】显示视图下的链接到【英文标题】:link_to under show view 【发布时间】:2016-05-09 22:08:37 【问题描述】:如何转换这些链接并使其在显示视图中工作?
我使用索引视图中设置的以下按钮,但希望将这些链接移动到显示视图下。我尝试了变化和不同的方式,但无法让它们发挥作用。
用户有嵌套的地址和业务资料,我也在尝试链接编辑和删除。
<%= link_to 'Edit User', edit_users_main_path(users_main), class: "btn" %>
<%= link_to 'User Address', users_main_contacts_path(users_main), class: "btn" %>
<%= link_to 'User Business', users_main_businesses_path(users_main), class: "btn" %>
<%= link_to 'Delete User', users_main, method: :delete, data: confirm: 'Are you sure?' , class: "btn" %>
【问题讨论】:
当您尝试将其移至show
时出现什么错误? users_main
对 show
可用吗?
未定义的局部变量或方法`users_main'
没错,这就是我所怀疑的。您需要定义 users_main
变量。检查答案:***.com/a/37126432/1047207
【参考方案1】:
我不确定您对users_main
的期望,但是,我认为它应该是一个用户对象。您需要在show
action show 中定义它,您可以在各自的视图中使用它。
# Controller
def show
@user = User.find(params[:user_id]) # just an example to define your instance varibale
...
...
end
然后在视图中使用相同的实例变量
# View
...
...
<%= link_to 'Edit User', edit_users_main_path(@user), class: "btn" %>
<%= link_to 'User Address', users_main_contacts_path(@user), class: "btn" %>
<%= link_to 'User Business', users_main_businesses_path(@user), class: "btn" %>
<%= link_to 'Delete User', @user, method: :delete, data: confirm: 'Are you sure?' , class: "btn" %>
...
【讨论】:
谢谢,我的link_to 上缺少@user 部分以上是关于显示视图下的链接到的主要内容,如果未能解决你的问题,请参考以下文章