我试图找到一种方法,以大写的第一个字母的所有标题和标签时,用户提交一篇文章。我可以使用capitalize方法,但是我要把它添加到控制器代码块的什么地方才能工作呢?
Thx
控制器/文章_控制器:
def new
@article = Article.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @article }
end
end
控制器/标记控制器:
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
...
发布于 2011-05-25 23:12:16
我会这样做,以迫使它们在储蓄之前被大写。
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
发布于 2011-05-25 19:39:42
你计划在哪里利用它?在保存到数据库之前?或者当你向用户展示它的时候?
有两种方法可以做到这一点:
使用rail的titleize function或capitalize
或者使用CSS执行此操作:
<p class="tag">im a tag</p>
#CSS
.tag {
text-transform:capitalize;
}
发布于 2011-05-25 19:39:02
尝试使用.capitalize
例如,"title".capitalize将生成"Title“
https://stackoverflow.com/questions/6122967
复制相似问题