小编the*_*rod的帖子

Ruby on Rails - 截断到特定的字符串

澄清:帖子的创建者应该能够决定截断何时发生.

我在我的博客中使用以下辅助函数实现了类似[--- MORE ---]功能的Wordpress:

# application_helper.rb

def more_split(content)
split = content.split("[---MORE---]")
split.first
end

def remove_more_tag(content)
content.sub(“[---MORE---]", '')
end
Run Code Online (Sandbox Code Playgroud)

在索引视图中,帖子正文将显示(但没有)[--- MORE ---]标记的所有内容.

# index.html.erb
<%= raw more_split(post.rendered_body) %>
Run Code Online (Sandbox Code Playgroud)

在节目视图中,除了[--- MORE ---]标签外,还会显示帖子正文中的所有内容.

# show.html.erb
<%=raw remove_more_tag(@post.rendered_body) %>
Run Code Online (Sandbox Code Playgroud)

这个解决方案目前对我没有任何问题.由于我还是编程的初学者,我不断想知道是否有更优雅的方法来实现这一目标.

你会怎么做?

谢谢你的时间.


这是更新版本:

# index.html.erb
<%=raw truncate(post.rendered_body,  
                :length => 0, 
                :separator => '[---MORE---]', 
                :omission => link_to( "Continued...",post)) %>
Run Code Online (Sandbox Code Playgroud)

......并在展示视图中:

# show.html.erb
<%=raw (@post.rendered_body).gsub("[---MORE---]", '') %>
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails-3

4
推荐指数
1
解决办法
6302
查看次数

Objective-C 2.0中的点运算符

只需选择Objective-C 2.0并想知道使用点运算符访问属性而不是"旧"方式是否有任何优势.我的意思的简短例子.

"老"的方式:

 [myFraction setNumerator: 1];
 [myFraction setDenominator: 3];
Run Code Online (Sandbox Code Playgroud)

"新方法:

 myFraction.numerator = 1;
 myFraction.denominator = 3;
Run Code Online (Sandbox Code Playgroud)

谢谢!

罗德里戈

cocoa cocoa-touch objective-c ios

3
推荐指数
1
解决办法
1869
查看次数

标签 统计

cocoa ×1

cocoa-touch ×1

ios ×1

objective-c ×1

ruby ×1

ruby-on-rails-3 ×1