【发布时间】:2019-09-10 09:48:27
【问题描述】:
我想单击名为“用户”和“管理员”的下拉项,这应该会将我的帐户表中的角色列更新为该值。
%tr
%td
.dropdown
%button#dropdownMenuLink.btn.btn-outline.btn-sm.dropdown-toggle{"aria-expanded" => "false", "aria-haspopup" => "true", "data-toggle" => "dropdown", :type => "button"}
=account.role
.dropdown-menu{"aria-labelledby" => "dropdownMenuButton"}
.dropdown-item #{link_to "User", account.update_attribute("role", "user")}
.dropdown-item #{link_to "Admin", account.update_attribute("role", "admin")}
我得到这个错误:
undefined method `to_model' for true:TrueClass Did you mean? to_yaml
【问题讨论】:
-
update_attribute方法返回true或false,它不返回模型。此外,你为什么在你的视图中执行update_attribute而不是控制器,它应该在哪里?强烈反对。 -
您是否知道
link_to方法和account.update_attribute方法会在视图呈现时进行评估?此视图尝试首先将帐户的角色设置为“用户”,然后再设置为“管理员”。每次加载该页面时。
标签: ruby-on-rails ruby link-to update-attributes