Ruby on rails 通过Rails 3中的视图在模型中定义的访问Rails方法
我在控制器中定义了一个方法,我试图创建一个按钮或表单来访问它 模型Ruby on rails 通过Rails 3中的视图在模型中定义的访问Rails方法,ruby-on-rails,ruby-on-rails-3,form-for,Ruby On Rails,Ruby On Rails 3,Form For,我在控制器中定义了一个方法,我试图创建一个按钮或表单来访问它 模型 class DoThis
class DoThis
看法
我想将视图中的上述代码转换为按钮或表单,但不知道如何转换
谢谢你不应该这样做。模型不应该包含视图代码——这是故意不容易做到的,因为它破坏了MVC。相反,您应该在
app/helpers/controller\u name\u helper.rb
文件中添加一个helper函数
def take_action(obj)
button_to( ... )
end
然后,您只需在视图中调用
。我是否将当前在模型中的“take\u action”方法中定义的附加代码放入控制器帮助器中新的“take\u action”方法中?我在控制器帮助器中定义了操作,而不是模型,现在我遇到了另一个问题。我在“take_action”中的代码是更新另一个模型DoThisTwo上的.attributes。当代码在原始DoThis模型中定义时,它工作正常,但现在当它在DoThis的控制器中时,我得到了一个带有“undefined Method'attribute”的NoMethodError。我为我在DoThis 2中更新的属性添加了attr_accessible。还有其他建议吗?
<%= @do_this.take_action(@a, @b) %>
def take_action(obj)
button_to( ... )
end