`

如何在model里使用view helper

阅读更多
class Glosentry < ActiveRecord::Base
  include ActionView::Helpers::TextHelper
  
  def short_explanation(len=20) 
    truncate(self.explanation, len)
  end
end

上面的方法虽然可以用但,逻辑上并不好,因为Model不是helper,所以可以用下面的方法

class Glosentry < ActiveRecord::Base
  class GlosentryHelper
    include ActionView::Helpers::TextHelper
  end
  
  def helper
    @h ||= GlosentryHelper.new
  end
  
  def short_explanation(len=20) 
    helper.truncate(self.explanation, len)
  end
end


  def method_missing(*args, &block)
    @h.send(*args, &block)
  end
分享到:
评论

相关推荐

    HtmlHelper

    它通过视图(View)与模型(Model)的数据交互,帮助我们生成视图中所需的HTML元素。例如,我们可以使用`HtmlHelper`的`TextBox`方法来创建输入框,`Label`方法创建标签,`DropDownList`方法创建下拉列表等。这些...

    MVC日历控件 Html Helper Asp.net

    在ASP.NET MVC框架中,开发人员经常使用Html Helper来创建用户界面元素,其中包括日历控件。这个技术有助于实现模型-视图-控制器(MVC)模式中的视图部分,使得视图层更加简洁,易于维护。让我们深入探讨一下如何在...

    MyBookShop-1.使用Helper方法实现登录

    在ASP.NET MVC框架中,Helper方法是一种非常实用的工具,用于在视图(Views)中重用代码,提高代码的可读性和维护性。在这个特定的案例“MyBookShop-1.使用Helper方法实现登录”中,我们关注的是如何利用Helper方法...

    MVC3处理反复提交,HtmlHelper用法大全,拓展方法

    在ASP.NET MVC中,一种常见的处理反复提交的方法是使用"POST-Redirect-GET"(PRG)模式。当用户成功提交表单后,服务器应通过HTTP重定向响应将用户重定向到一个新的GET请求。这样可以确保浏览器不会因为用户点击刷新...

    Android代码-base-adapter-helper

    Multi Item Layout File Support you can find sample in base-adapter-helper-sample-new.... You only need to focus on the mapping between your view and your model. Get it BaseAdapter Helper is now availab

    asp.net core标签助手的高级用法TagHelper+Form

    在视图(View)中,开发者可以直接使用TagHelper来编写HTML标记。通过在HTML标签中加入asp-for属性来指定模型的属性,就可以自动生成输入控件和相应的验证标记。这样的处理方式使得HTML代码更加简洁,且在功能上与...

    C# 封装HtmlHelper组件:BootstrapHelper

    在C#中,封装HtmlHelper组件是为了方便在ASP.NET MVC框架中生成HTML元素,特别是当开发者需要频繁使用特定样式或库,如Bootstrap时。BootstrapHelper是HtmlHelper的一个扩展,专门针对Bootstrap框架提供便利的HTML...

    Laravel开发-backend-helper

    Laravel使用MVC(Model-View-Controller)架构模式,分离了业务逻辑、数据和用户界面,使得代码结构清晰易维护。它还引入了Eloquent ORM,一个强大的对象关系映射系统,简化了数据库操作。此外,Laravel的Artisan...

    Laravel开发-laravel-simple-helper .zip

    在本文中,我们将深入探讨Laravel框架中的"Simple Helper"概念,这主要源自于提供的压缩包文件"Laravel开发-laravel-simple-helper .zip"。Laravel是一个优雅且强大的PHP web应用程序开发框架,它提供了丰富的功能来...

    【ASP.NET编程知识】ASP.NET MVC中为DropDownListFor设置选中项的方法.docx

    在前台视图中,使用 @Html.DropDownListFor helper 方法可以根据当前 Model 的某个属性值,让 Select 的某项选中。同时,也可以通过遍历 Model 集合,给 View Model 设置一个 bool 类型的字段,描述是否被选中。 ...

    YII view 常用extensions

    在Yii中,视图(View)是MVC(Model-View-Controller)架构的一部分,负责展示数据和用户界面。这篇名为"YII view 常用extensions"的文章可能探讨了在Yii视图中使用的常见扩展,以增强其功能和用户体验。 在Yii框架...

    【ASP.NET编程知识】ASP.NET MVC4入门教程(六):验证编辑方法和编辑视图.docx

    在本节中,我们使用了ModelState.IsValid属性来验证电影的编辑结果,如果验证失败,将返回View,否则将保存电影的编辑结果。 六、HttpPost属性 HttpPost属性是一个非常重要的概念,它用于指定操作方法的请求类型。...

    Android代码-wehax安卓内部库

    wehax安卓内部库 ... framework 提供一套mvp框架的声明和实现....model里提供了基础bean以及若干常用bean。同时定义了数据返回的接口。 data.annotation声明了数据解析用到的若干标注。 data.helper包含数据解析

    iOS知识总结(使用gitbook)

    2. **iOS应用架构**:iOS应用通常采用MVC(Model-View-Controller)、MVVM(Model-View-ViewModel)或VIPER(View-Interactor-Presenter-Entity-Router)等架构模式。理解这些模式有助于组织代码,提高可维护性和可...

    K3Cloud插件开发常用接口.docx

    调用保存操作可以使用Kingdee.BOS.ServiceHelper.BusinessDataServiceHelper.Save(this.Context, this.View.BusinessInfo, this.View.Model.DataObject)方法,该方法将当前单据保存到数据库中。 10. 检验字符串函数...

    ASP.NET MVC正式版1.0 简单例子

    ASP.NET MVC是一个强大的Web应用程序开发框架,由微软公司推出,基于Model-View-Controller(MVC)设计模式。这个框架允许开发者将业务逻辑、数据处理和用户界面分离,从而提高代码的可测试性和可维护性。ASP.NET ...

    MyTodo-mvp

    例如,当用户点击添加按钮时,Presenter会接收到View的请求,然后调用Model来创建新的待办,并在完成后通知View更新UI。 此外,项目的文件结构通常会按照MVP模式进行组织,可能包含以下部分: - **Model**目录:...

    mvc网页教程.zip

    在ASP.NET MVC中,Model代表应用程序的数据模型,View负责显示数据,Controller处理用户的请求并协调Model和View。 1. **Model**:这是应用程序的核心部分,包含了业务逻辑和数据。开发者通常会使用Entity ...

    mvp简单模板

    在MVP模式中,Model并不直接与View或Presenter交互,而是通过Presenter作为中介传递数据。 **2. View层** View层代表用户界面,包括Activity、Fragment、Adapter等组件。它的职责是展示数据和响应用户的交互事件。...

    movies-helper-bot

    为了提高代码组织和可维护性,movies-helper-bot可能使用了PHP的MVC(Model-View-Controller)框架,如Laravel、Symfony或CodeIgniter。MVC模式使得业务逻辑、数据处理和用户界面分离,便于开发和测试。 3. 数据库...

Global site tag (gtag.js) - Google Analytics