显示视图下的链接到

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_mainshow 可用吗? 未定义的局部变量或方法`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 部分

以上是关于显示视图下的链接到的主要内容,如果未能解决你的问题,请参考以下文章

Drupal:将存档添加到主链接作为 SubNav

主视图下的半隐藏视图以 alpha segue 显示

如何在MVC视图之间显示“正在加载”

在自定义视图中显示会员下的订单(显示注册会员)?

如何在 Access 表单中显示超链接(数据表视图)

查找哪个集合视图单元格链接到我的表格视图