javascript - RoR 3.1 - 用于锁定用户的button_to_function

标签 javascript ruby-on-rails devise

我正在尝试找出从我的用户/ View /索引页面锁定用户帐户的最佳方法。我正在尝试使用 button_to_function 方法,但无法找出正确的方法。

我的用户模型中有一个简单的方法来完成此任务:

*def self.lock_user(id)
  user = User.find(id)
  user.update_attribute(:locked_at, Time.now)
end*

我可以直接在我的 _user.haml.html 文件中调用此方法吗?

我正在尝试以下操作,但它只是切换每个“用户”:

*@user.each do |user|
.
.
  - if user.locked_at.nil?
    %td= button_to_function "lock", User.lock_user(user.id), :class => "lock_button"
  - else
    %td= button_to_function "unlock", User.unlock_user(user.id), :class => "unlock_button"*

最佳答案

您不能直接从 View 调用模型方法。

您需要在 Controller 上创建一个操作,并在那里调用模型方法。

基本工作流程是:

Link in View -> Url -> Controller.Action -> Model ->Method.

关于javascript - RoR 3.1 - 用于锁定用户的button_to_function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8887355/

相关文章:

ruby-on-rails - 对象.attribute_changed?无法在 Rails Controller 中工作

ruby-on-rails - current_user 和 active_admin

javascript - html、javascript 和 php 的非 CSS 样式注意事项

javascript - 在多个组件中调用一个组件。 Angular 4

javascript - 是否可以使用 jQuery 将当前元素从 div 更改为标签?

ruby-on-rails - 内置日期时间验证的rails

javascript - 通过距离和摩擦力计算速度

javascript - 滚动到顶部按钮不显示

ruby-on-rails - PG undefinedtable 错误关系用户不存在

ruby-on-rails - 设计中登录操作的不同布局