Rails-大写文章标签和标题

问题描述

| 我试图找到一种在用户提交文章时将所有“标题和标签”的第一个字母大写的方法。我可以使用大写方法,但是在哪里可以将其添加到控制器代码块中呢? 谢谢 控制器/ articles_controller:
def new
  @article = Article.new

  respond_to do |format|
   format.html # new.html.erb
   format.xml  { render :xml => @article }
 end
end
控制器/ tags_controller:
class TagsController < ApplicationController
    def show
      @tag = Tag.find(params[:id])
    @articles = @tag.articles
  end
end
型号/文章:
def tag_names
  @tag_names || tags.map(&:name).join(\' \')
end

private

def assign_tags
  if @tag_names
    self.tags = @tag_names.split(/\\,/).map do |name|
    Tag.find_or_create_by_name(name)
    end
  end
 ...
    

解决方法

我会做这样的事情来迫使他们在储蓄之前被大写。
class Article < ActiveRecord::Base
  def title=(title)
    write_attribute(:title,title.titleize)
  end

  private

  def assign_tags
    if @tag_names
      self.tags = @tag_names.split(/\\,/).map do |name|
        Tag.find_or_create_by_name(name.capitalize)
      end
    end
  end
end
    ,您打算在哪里资本化?在保存到数据库之前?或何时向用户显示? 有两种方法: 使用铁路的标题功能或大写 或通过以下方式使用CSS进行操作:
 <p class=\"tag\">im a tag</p>

 #CSS
 .tag {
   text-transform:capitalize;
 }
    ,尝试使用.capitalize 例如\“ title \”。capitalize将成为\“ Title \”     ,如弗朗西斯所说,在控制器中使用.capitalize 我用这个
@article= Article.new(params[:article])
@article.name = @article.title.capitalize 
@article.save
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...