小编Jam*_*sen的帖子

如何在Rails视图中呈现所有注释?

我是新手,所以很容易.我创建了一个博客.我已成功实施评论并将其附加到每个帖子.现在......我想在侧边栏中显示所有帖子中最新评论的列表.我认为这里涉及两件事,一个是对comment_controller.rb的更新,然后是来自实际页面的调用.这是注释控制器代码.

class CommentsController < ApplicationController

  def create
    @post = Post.find(params[:post_id])
    @comment = @post.comments.create!(params[:comment])

    respond_to do |format|
      format.html { redirect_to @post}
      format.js
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby blogs comments ruby-on-rails

2
推荐指数
1
解决办法
8797
查看次数

如何在Ember中更改查询参数?

我在写一个动作处理程序route:application:

actions: {
  changeFoo(foo) {
    // I want to change the fooId queryParam to foo.get('id')
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是,我可以找到更改查询参数的唯一记录方法是相同transitionTo('some.route', someModel, { queryParams: { ... } }replaceWith版本.但我在route:application,所以我不知道当前路线的名称.这意味着我不知道第一个论点是什么transitionTo.

是否有其他方法可以使URL成为?fooId=123

ember.js ember-router

2
推荐指数
1
解决办法
2014
查看次数

博客软件的自动换行和格式化

我正在使用MYSQL后端数据库在PHP中编写自己的博客引擎.我的问题是:您如何将用户评论和博客帖子包含在适当的地方?

例如,如果用户点击消息/评论框中的返回键,这将如何转换为在查看评论时在浏览器中显示的新行?

php blogs newline

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

我如何等待Sproutcore 2.0加载所有模板?

在我的应用中,<body>标记只包含一个<script type="text/x-handlebars>包含我所有视图的标记.Sproutcore 2.0很好地添加了一个jQuery on-document-ready处理程序,它解析这些模板并将它们呈现回DOM.

我想在其中一个视图渲染后立即调用一个函数.问题是重新插入是异步发生的,所以我不知道视图何时可用.

<body>
  <script type="text/x-handlebars">
    ...
    {{view "MyApp.TweetInputView"}}
    ...
  </script>
</body>
Run Code Online (Sandbox Code Playgroud) 视图:
MyApp.TweetInputView = SC.View.extend({
  init: function() {
    // act like a singleton
    MyApp.TweetInputView.instance = this;
    return this._super();
  },
  focus: function() {
    ...
    this.$().focus();
  }
});
Run Code Online (Sandbox Code Playgroud) 初始化
// if the URL is /tweets/new, focus on the tweet input view
$(function() {
  if (window.location.pathname === '/tweets/new') {
    // doesn't work, because the view hasn't been created yet:
    MyApp.TweetInputView.instance.focus();
  }
});
Run Code Online (Sandbox Code Playgroud)

我也试过SC.run.schedule('render', …

javascript sproutcore sproutcore-2

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

如何在Rails.cache中放置(部分)大对象图?

我有一个类,其中查找实例很昂贵,因此实例被缓存:

class Foo
  def self.find(id)
    Rails.cache.fetch("Foo.#{id}") do
      // some expensive lookup, like an HTTParty request, or a long SQL query
      ...
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

这有效,直到Foos有相关的Foos:

class Foo
  def children
    @child_foo_ids.map { |id| Foo.find(id) }
  end
end
Run Code Online (Sandbox Code Playgroud)

我想使用||=缓存来节省重复的旅行:

class Foo
  def children
    @children ||= @child_foo_ids.map { |id| Foo.find(id) }
  end
end
Run Code Online (Sandbox Code Playgroud)

Rails.cache冻结了找到的Foos,所以在创建和缓存对象后我无法设置实例变量.(即这种方法提出了一个TypeError.)

一种解决方案是parent在我第一次执行昂贵的查找时预先获取,但是当我只需要一个或两个实例时,最终可能会加载一个巨大的对象图.

ruby caching ruby-on-rails

0
推荐指数
1
解决办法
371
查看次数

验证字段不超过n个字的最快方法是什么?

我有一个Ruby-on-Rails模型:

class Candidate < ActiveRecord::Base
  validates_presence_of :application_essay
  validate :validate_length_of_application_essay

  protected

  def validate_length_of_application_essay
    return if application_essay.blank? # don't add a second error message if they didn't fill it out
    errors.add(:application_essay, :too_long), unless ...
  end
end
Run Code Online (Sandbox Code Playgroud)

没有进入C,检查application_essay包含不超过500字的最快方法是什么?您可以假设大多数论文至少有200个单词,不可能超过5000个单词,并且是英文(或伪英语有时称为"business-ese").您也可以将任何您想要的内容归类为"单词",只要您的分类对于典型用户来说是显而易见的.(注意:这不是讨论什么是"典型用户":)的地方)

ruby validation ruby-on-rails word-count

0
推荐指数
1
解决办法
1034
查看次数

如何将Dict文字与构造的Dict进行比较?

我正在尝试测试一个构建HashDict的算法,但我不能让我的"预期" 实际上等于我的"实际".例如,

iex> expected = HashDict.new([ key: 12 ])
#HashDict<[foo: 12]>

iex> actual = Dict.put(HashDict.new, "key", 12)
#HashDict<[{"foo", 12}]>
Run Code Online (Sandbox Code Playgroud)

HashDict通过以更加钝的方式声明它,我可以获得文字中的第二个"风格" :

iex> HashDict.new([ { "key", 12 } ])
#HashDict<[{"foo", 12}]>
Run Code Online (Sandbox Code Playgroud)

我非常喜欢我的测试用例的简单Dict文字语法,但是我的实现以递归方式构建了Dict.我怎样才能使这些相等?

elixir

0
推荐指数
1
解决办法
192
查看次数