小编Nik*_* So的帖子

在Rails 3中放置时间格式规则的位置?

我发现自己重复输入我定义的许多strftime.

看过Ryan Bates的railscasts ep 32/33(我想),我在Time.now.to_s中为to_s方法创建了一个自定义选项,这样我就可以做Time.now.to_s(:sw),其中:sw是我的自定义方法,例如,检索"2010年9月23日,下午5:00".

但问题是,我不知道把#sw的定义放在哪里.它应该在初始化文件夹中的文件中吗?或者它应该进入application.rb?

谢谢!

ruby-on-rails helpers

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

backbone.js分页

我开始使用Backbone并尝试将我的Rails后端的html模板转换为javascript模板.

我认为使用骨干的一件事是更有利的是它的模型和集合的概念.所以说,我有100条记录,并将这些记录分页到每页10条,通常,没有相当多的javascript工作,人们很难期望缓存,ajax,单页分页体验.意思是,我登陆第一页,现在点击第二页,第二页请求下一个10条记录ajax'ly,如果我再单击第一页,我将不再向服务器发出任何请求,因为它在那里.

我没有写过任何代码,但有人能告诉我如何将ajax请求的新到达的数据附加到现有的分页中进行分页吗?

例如,记住Backbone的文档说你的第一次页面加载应该包含自举数据而不是第二次获取它们.所以

var projects_data = <%= @projects.to_json.html_safe %>;
var projects = new Cafe.Collections.ProjectsCollection();
var projects.reset(projects_data);
Run Code Online (Sandbox Code Playgroud)

现在我的项目变量包含,例如,前10个记录,我有人后退另一轮10,比方说,我将这些新到的10保存在变量中

var projects_data_new = ...
Run Code Online (Sandbox Code Playgroud)

我可以将它们附加到现有的"项目"集合中吗?

或者这不是在分页的情况下在Backbone中鼓励的设计模式吗?

pagination ruby-on-rails backbone.js

18
推荐指数
2
解决办法
5172
查看次数

如何在simple_form 2中的包装器中向输入组件添加类

我正在尝试class="text"在输入字段中使用名为:hinted in simple_form 2.0.0.rc的自定义包装器

config.wrappers :hinted do |b|
  b.use :input, :class => "text"
end
Run Code Online (Sandbox Code Playgroud)

但是输出没有那个类,我试过了

:wrap_with => {:class => 'text'} 
Run Code Online (Sandbox Code Playgroud)

无济于事

有谁知道这是怎么做的?

谢谢!

ruby-on-rails simple-form

15
推荐指数
3
解决办法
3万
查看次数

如何在电影信用的每一行文本中对齐冒号经常这样做

我想在每一行中对齐几行关于冒号的文本.所以我有这个:

aaa:111
bbbbbbb:22222
cccccccccc:33333333
dd:44
eeee:5555
Run Code Online (Sandbox Code Playgroud)

我希望他们对齐冒号:

       aaa:111
   bbbbbbb:22222
cccccccccc:33333333
        dd:44
      eeee:5555
Run Code Online (Sandbox Code Playgroud)

到目前为止,我可以使用一个表和两列来管理它,左列text-align:right,右列text-align left.但我确信有比这更优雅的解决方案. - 有任何想法吗?

谢谢!

css

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

LessCSS中的@media和@ font-face支持

您好,有没有人知道如何使用LessCSS进行媒体查询?

  @media screen and (max-width: 600px) {
      #container{
          width: 480px;
      }
  }
Run Code Online (Sandbox Code Playgroud)

给我以下错误:

! Syntax Error: on line 23: expected one of :: : . # * - [ @media @font-face , { ; got ( after:

@media screen and
Run Code Online (Sandbox Code Playgroud)

同样,@ font-face和任何与LessCSS编译器冲突的CSS3查询.

谢谢!

css less media-queries

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

如何使用urlhelper包含rails 3自定义数据属性

我正在使用Rails 3并发现如果我添加:remote =>:true,则会在标记中添加data-remote = true属性.但我找不到将自定义数据属性添加到urlhelper的方法.以下方法不起作用:

<%= link_to projects_path, :history => "new"%>
<%= link_to projects_path, :data-history => "new"%> #this throws an error
<%= link_to projects_path, :data_history => "new"%>
Run Code Online (Sandbox Code Playgroud)

我想要产生的是:新项目

任何人?

ruby-on-rails-3

12
推荐指数
2
解决办法
5249
查看次数

想要rails simple_form单选按钮来显示不是值的文本

我使用simple_form gem https://github.com/plataformatec/simple_form来创建一些输入字段; 其中一个是单选按钮组,如下所示:

<%= f.input :due_date, :collection => ['Today', 'Tomorrow', 'In 3 Days'], :as => :radio %>
Run Code Online (Sandbox Code Playgroud)

所以数据库"due_date"中的这个字段是一个Date.但是,我们知道通常人们只想要这三个选项,而不是让人们点击那个小日历.我确实想用单选按钮.但是这一行的输出表明,如果我现在点击提交按钮,则due_date参数将具有其中所述的值,即今天,明天或3天.这是Today部分的输出HTML.

<span>
<input class="radio optional" id="project_due_date_today" name="project[due_date]" type="radio" value="Today">
<label class="collection_radio" for="project_due_date_today">Today</label>
</span>
Run Code Online (Sandbox Code Playgroud)

理想情况下我想要的是:

<%= f.input :due_date, :collection_to_params => [Date.today, Date.tomorrow, Date.today+3], :display_value => ['Today', 'Tomorrow', 'In 3 Days'], :as => :radio %>
Run Code Online (Sandbox Code Playgroud)

因此,当用户点击一个并提交时,我实际上会将一些ISO日期发送到服务器.

有任何想法吗?

谢谢!

forms ruby-on-rails radio-button simple-form

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

Rails虚拟属性搜索或sql组合列搜索

我有一个属性'first'和'last'的用户模型所以例如User.first.first#=>"Charlie"User.first.last#=>"Brown"

此用户模型还具有虚拟属性"full_name"

#user.rb
def full_name
  [first,last].join(' ')
end

def full_name=(name) #don't know what to do with people w/ middle names
  split = name.split(' ')
  self.first = split[0]
  self.last = split[1]
end
Run Code Online (Sandbox Code Playgroud)

例如:

User.first.full_name = "Charlie Brown" #=> "Charlie Brown"
User.first.full_name = "Homer Simpson" #=> "Home Simpson"
User.first.save
User.first.first #=> "Homer"
User.first.last #=> "Simpson"
Run Code Online (Sandbox Code Playgroud)

如果我可以通过该虚拟属性进行搜索,例如动态查找,那就太好了:

User.find_by_full_name('Home Simpson') # this doesn't work
Run Code Online (Sandbox Code Playgroud)

查找条件的示例:

User.all(:conditions => ['full_name LIKE ?', query]) #this doesn't work
Run Code Online (Sandbox Code Playgroud)

我希望在SQL语言中至少找到一些可以做到这一点的方法; 如果还有一个动态虚拟属性查找,那就是在结构上的额外香草源.(今年冬天有这个人吗?)

我还担心被搜索的名称,例如,"Holmes"可能只能在"第一"列中搜索,而不能搜索到"最后"列,例如User.first.full_name #=> "Sherlock Holmes".

我确实尝试过更全面的搜索:

user.rb …

sql ruby-on-rails find virtual-attribute conditional-statements

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

json erb模板找不到其他html偏

我正在尝试使用json响应,其中某些值是由部分呈现的html

#projects_Controller.rb

def index
  respond_to do |f|
    f.json 
  end
end

# index.json.erb

  {
     "html":"<%= raw escape_javascript(render :partial => 'projects/disclaimer') %>"
  }
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

  ActionView::Template::Error (Missing partial projects/disclaimer with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>
  [:json], :locale=>[:en, :en]} in view paths "c:/rails/app/views", "c:/rails/vendor/plugins/more/app/views", "C:/Ruby192/lib/ruby/gems/1.9.1/gems/devise-1.1.8/app/views")
Run Code Online (Sandbox Code Playgroud)

似乎JSON请求在其名称中使用.json.erb呈现部分但不是.html.erb,这就是我所拥有的.有没有办法让我指定'html'.

ADDED:如果请求是'js',并且在index.js.erb中我渲染了几乎相同的代码:#index.js.erb

  disclaimer = {
     "html":"<%= raw escape_javascript(render :partial => 'projects/disclaimer') %>"
  }
Run Code Online (Sandbox Code Playgroud)

它确实找到了projects/disclaimer.html.erb并正确呈现它.我想知道为什么会出现这样的不一致,如果有人请求js,其模板中的任何部分渲染都会查找partial_name.html.erb但是如果请求json,部分渲染会要求partial_name.json.erb?

谢谢

json ruby-on-rails partial-views

10
推荐指数
2
解决办法
5177
查看次数

angular.js:如何将ngclick从原始dom传递给指令的dom?

嗨,我有这个"确认"按钮指令,我正在努力,

将触发指令'确认'的html代码

      <span confirmable ng-click='users.splice($index,1)'></span>
Run Code Online (Sandbox Code Playgroud)

指令:(coffeescript)

  angular.module('buttons',[])

  .directive 'confirmable', () ->
    template: """
      <button class='btn btn-mini btn-danger'>
        Destroy
      </button>
    """
    replace: yes
Run Code Online (Sandbox Code Playgroud)

因此,我希望看到使用此指令生成的最终结果是

      <button class='btn btn-mini btn-danger' ng-click='users.splice($index,1)'>
        Destroy
      </button>
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经使用了指令中的链接函数

  angular.module('buttons',[])

  .directive 'confirmable', () ->
    template: """
      <button class='btn btn-mini btn-danger'>
        Destroy
      </button>
    """
    replace: yes
    link: (scope, el, attrs) ->               <---------- linking function
      $(el).attr 'ng-click', attrs.ngClick
Run Code Online (Sandbox Code Playgroud)

但我再次阅读了指令文档,并使用=,@,&运算符找到了scope属性,但我真的不确定它们是否是我需要的.然后是这个转换属性,我仍然需要了解,但目前似乎也没有帮助.因此,虽然我的链接功能现在可以解决问题,但我想我应该问一下角度是否提供更优雅的解决方案.

谢谢!

angularjs

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