小编AnA*_*ice的帖子

Rails 3 - 构建一个表,想要每行交替颜色

期望的输出:

<ul>
 <li class="odd">stuff</li>
 <li class="even">stuff</li>
 <li class="odd">stuff</li>
 <li class="even">stuff</li>
 <li class="odd">stuff</li>
 <li class="even">stuff</li>
 <li class="odd">stuff</li>
 <li class="even">stuff</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

CSS:

.odd {color:blue}
.even{color:red;}
Run Code Online (Sandbox Code Playgroud)

在轨道3中有一个干净的方法没有计数器等吗?

谢谢

ruby-on-rails ruby-on-rails-3

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

rails - 如何在视图中呈现JSON对象

现在我正在创建一个数组并使用:

render :json => @comments
Run Code Online (Sandbox Code Playgroud)

这对于一个简单的JSON对象来说没什么问题,但是现在我的JSON对象需要几个帮助器,它们破坏了一切,并且需要在控制器中包含帮助器,这似乎会导致更多问题而不是解决.

那么,我如何在视图中创建这个JSON对象,在使用帮助器时我不必担心做任何事情或破坏任何东西.现在我在控制器中制作JSON对象的方式看起来像这样的东西?帮我把它迁移到一个视图:)

# Build the JSON Search Normalized Object
@comments = Array.new

@conversation_comments.each do |comment|
  @comments << {
    :id => comment.id,
    :level => comment.level,
    :content => html_format(comment.content),
    :parent_id => comment.parent_id,
    :user_id => comment.user_id,
    :created_at => comment.created_at
  }
end

render :json => @comments
Run Code Online (Sandbox Code Playgroud)

谢谢!

json ruby-on-rails actionview ruby-on-rails-3

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

jQuery - INPUT type = File,Image FileType验证选项?

我有以下内容:

<input id="user_profile_pic" name="user[profile_pic]" type="file">
Run Code Online (Sandbox Code Playgroud)

在服务器上,我检查以确保它是一个图像,但我想首先检查客户端.

如果选择的文件输入文件不是gif,jpg,png或bmp,我如何使用jQuery提醒用户?

谢谢

jquery jquery-plugins

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

rails - Paperclip文件名

使用带有Paperclip的rails,我可以使用以下命令在before_create期间获取文件名:

extension = File.extname(photo_file_name).downcase

我如何得到JUST文件名..现在我有photo_file_name提供整个文件,titlename.pdf

我需要没有.pdf的titlename

谢谢

使用代码更新:

photo.rb:

  before_create :obfuscate_file_name

  #Paperclip for photo
  has_attached_file :photo,
......


private

  def obfuscate_file_name
    extension = File.extname(photo_file_name).downcase
    fileNameOnly = File.basename(photo_file_name).downcase
    self.photo.instance_write(:file_name, "#{fileNameOnly}_#{ActiveSupport::SecureRandom.hex(32)}#{extension}")
  end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails paperclip ruby-on-rails-3

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

jQuery - 将值附加到INPUT,使其保持为逗号分隔列表

我有如下输入:

<input type="hidden" id="attachment-uuids" value="">
Run Code Online (Sandbox Code Playgroud)

我希望能够在不同的时间将值附加到输入:

$('#attachment-uuids).val('55555');
Run Code Online (Sandbox Code Playgroud)

结果是:

<input type="hidden" id="attachment-uuids" value="55555">
Run Code Online (Sandbox Code Playgroud)

但后来做:

$('#attachment-uuids).val('66666');
Run Code Online (Sandbox Code Playgroud)

结果是:

<input type="hidden" id="attachment-uuids" value="66666">
Run Code Online (Sandbox Code Playgroud)

在哪里我想要以下内容:

<input type="hidden" id="attachment-uuids" value="55555, 66666">
Run Code Online (Sandbox Code Playgroud)

如何在值为空时以及当值为空时使用逗号分隔列表时附加值?

谢谢

jquery

16
推荐指数
2
解决办法
4万
查看次数

rails - 如果定义了collection_select选择的值?

我有以下内容:

<%= f.collection_select :role_id, roles, :id, :name, :prompt => true, :selected => 2 %>
Run Code Online (Sandbox Code Playgroud)

问题是,如果值@ permission.role_id为nil,我只希望选择的值为2.

所以我试过了:

<%= f.collection_select :role_id, roles, :id, :name, :prompt => true, {:selected => 2 if @permission.role_id.nil?} %> 
Run Code Online (Sandbox Code Playgroud)

但这让Rails很生气.如何根据单独的变量是否为零来创建条件选择值?

谢谢

ruby-on-rails ruby-on-rails-3

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

Rails - 在除最后一个记录之外的每个记录之后输出带逗号的项目列表

我现在正在我的一个用户邮件程序视图中执行以下操作:

<% @participants.each do |participant| %>
    <%=participant.user.full_name%>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我希望除了最后一个记录之后每个记录都有一个逗号,我想我可以添加一个if块来查看当前记录是否是最后一个,但这似乎是很多代码.在除了最后一项之外的每个项目之后,rails是否有更好的方法输出逗号.

Good: XXXXX, XXXXXX, XXXXX
Bad: XXX,XXX,XXXX,
Run Code Online (Sandbox Code Playgroud)

谢谢

ruby ruby-on-rails

16
推荐指数
3
解决办法
8849
查看次数

如何访问JSON对象中的数组?

您好我有以下JSON对象:

[
 {
  "comments":[
    {
     "created_at":"2011-02-09T14:42:42-08:00",
     "thumb":"xxxxxxx",
     "level":1,"id":214,
     "user_id":41,
     "parent_id":213,
     "content":"<p>xxxxxx</p>",
     "full_name":"xx K"
    },
    {
     "created_at":"2011-02-09T14:41:23-08:00",
     "thumb":"xxxxxxxxxxxxx",
     "level":0,
     "id":213,
     "user_id":19,
     "parent_id":null,
     "content":"<p>this is another test</p>",
     "full_name":"asd asd asd asd asd"
    }
  ],
 "eee1":"asdadsdas",
 "eee2":"bbbbb"
 }
]
Run Code Online (Sandbox Code Playgroud)

这是来自一个$.ajax要求,我有成功....

    success: function (dataJS) {
        console.log(dataJS);
        console.log(dataJS[eee1]);
        console.log(dataJS.comments);
    }
Run Code Online (Sandbox Code Playgroud)

问题是我无法访问JSON对象中的项目,即使dataJS确实在控制台中正确显示.想法?

谢谢

javascript arrays jquery json object

16
推荐指数
2
解决办法
4万
查看次数

getScript - 如何仅在未调用时调用

在点击上,以下内容被加载:

$.getScript('/javascripts/contacts.js');
Run Code Online (Sandbox Code Playgroud)

我怎么写一个说的话

如果上面的getScript已经加载了X,如果没有加载它,做Y ...?

谢谢

jquery

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

如何为邮件拦截器编写RSpec?

我正在使用邮件拦截器如下:

为setup_mail.rb

Mail.register_interceptor(MailInterceptor) if Rails.env != "production" 
Run Code Online (Sandbox Code Playgroud)

class MailInterceptor

class MailInterceptor  
  def self.delivering_email(message)  
    message.subject = "#{message.subject} [#{message.to}]"
    message.to = "xxxxx@xxxxxx.com"
  end
end
Run Code Online (Sandbox Code Playgroud)

我无法为这个拦截器创建一个rspec,因为rake规范不会发生这种情况.

我有以下规格:

  describe "MailInterceptor" do 
    it "should be intercepted" do
      @email = UserMailer.registration_automatically_generated(@user)
      @email.should deliver_to("xxxxx@xxxxxx.com")      
    end
  end
Run Code Online (Sandbox Code Playgroud)

在test.log中,我看到deliver_to不是拦截器.关于如何为拦截器编写rspec的任何想法?

谢谢

rspec ruby-on-rails ruby-on-rails-3 email-spec

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