【问题标题】: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 变量。检查答案:stackoverflow.com/a/37126432/1047207

标签: ruby-on-rails ruby-on-rails-4 views link-to


【解决方案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 部分
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多