我应该帮帮忙吗? 或者这会变慢吗?
在这种情况下哪种模式会更快?
显然,带帮手的Pattern1看起来更复杂,看起来很干净。
但是每次调用user_link方法时它都会发送SQL。
在一页加载时,它最多可调用100次。
哪种方式对基准性能更好?
样式1。 有了帮手
application_helper
def user_link(username) link_to User.find_by_username(username).user_profile.nickname, show_user_path(username) end
视图
模式2。 没有帮手。 只是查看
尝试
# Topics model #via scope scope :get_topic_list, lambda do order("updated_at DESC").joins(:comment_threads => :user).limit(100) end #via method def self.get_topic_list Topic.order("updated_at DESC").joins(:comment_threads => :user).limit(100) end # in your controller or move to model itself (recommened) @topics = Topic.get_topic_list # in you view <% @topics.each do |topic| %> <%= link_to(topic.comment_threads.order("id").last.user.nickname, show_user_path(topic.comment_threads.order("id").last.user.username) ) if topic.comment_threads.present? %> <% end %>
- 有关使用Access后端运行Rails的任何提示?
- Rails3 + Devise + Simple_form:路径助手中的奇异资源和simple_form_for错误
- Ruby strftime’%Z’方法返回’0545’而不是’NPT’
- Nesta CMS和Rails3集成:将博客添加到现有的rails 3应用程序中
- 如何从其他对象中包含表单元素?
- 怎么叫沉默! 在dalli cache_store上?
- Webpacker:如果没有./bin/webpack-dev-server,则无法使用public / assets / packs资产
- Ruby:堆栈级别太深(SystemStackError)
- Rails中的无表格模型JSON序列化