我的设置:Rails 3.0.9,Ruby 1.9.2
我正在研究我的应用程序的分页解决方案,并看到有一个新的宝石Kaminari与可靠的宝石相比will_paginate.看起来好像will_paginate有一段时间没有更新,但后来又回来了V3.0.什么是共识,是一个优先于另一个,为什么?提前感谢您的见解.
编辑
我在推特上问赖恩贝茨,他说
两者都做得很好.最重要的因素是如果你使用任何需要分页的宝石,因为它们是不兼容的.我更喜欢will_paginate的非引擎方法,但这是个人偏好.
如何将其转换为Int而不是 Some(Int)
val a: Option[Any] = Some(1)
Run Code Online (Sandbox Code Playgroud)
我试过toInt,它给了一个错误value toInt is not a member of Option[Any]
可能重复:
rails中的 - %>和%>之间的差异
那么对于ERB文件,<% - ... - %>与<%...%>之间的区别是什么?据我所知,它们的用途相同,但其中一个需要更多的输入.
我可能错过了一些明显的东西,但这就是我想要做的事情.
从视图来看,我正在调用自定义辅助函数
<div>
<%=display_services%>
</div>
Run Code Online (Sandbox Code Playgroud)
在带有display_services函数的帮助文件中
def display_services
html = "<div>"
form_for @user do |f|
f.text_field ...
end
html << "</div>"
end
Run Code Online (Sandbox Code Playgroud)
我发现form_for方法和f.text_field直接输出到HTML流而没有我喜欢的div包装器.在display_services中输出所有HTML的正确语法是什么?在此先感谢您的帮助.
我的设置:Rails 3.0.9,Ruby 1.9.2,jQuery 1.6.2
我有一个表单,为用户显示多张照片和评论,我希望实现内联评论.
<div id="newsfeed">
<div>
<div class="photo_title">Summer 2011</div>
<div class="newsfeed_photo">
<a href="..." /></a>
</div>
<textarea class="comment_box">Write a comment...</textarea>
</div>
<div>
<div class="comment_title">Seeing a movie</div>
<textarea class="comment_box">Write a comment...</textarea>
</div>
Run Code Online (Sandbox Code Playgroud)
我想在用户点击textarea字段中的回车键时提交一个AJAX帖子.这是我到目前为止的javascript(不完整)
$('#newsfeed').delegate('.comment_box', 'keydown', function (event){
event.preventDefault();
$.post('/sub_comments', ...);
});
Run Code Online (Sandbox Code Playgroud)
我正在使用该delegate方法,因为<div id='newsfeed'>内容可以被另一个AJAX调用替换.我需要的是jQuery post方法的语法,假设我需要传递一些形式参数,比如说photo_id等等.假设我有办法访问参数的值,那么post调用创建参数的语法是什么,Rails期望它们的方式
这是标准的Rails位
sub_comments_controller.rb
def new
@sub_comment = SubComment.new
respond_to do |format|
format.html # new.html.erb
format.js
end
end
Run Code Online (Sandbox Code Playgroud)
另外,我不想对<%= form_for(@sub_comment, :remote => true) do |f| %>我可以添加的每个内联注释使用通常的.我还看了看Ryan Bates的 …
我的设置:Rails 3.0.9,Ruby 1.9.2
我正在开发我的第一个中间件应用程序,似乎所有示例都涉及修改响应.我需要检查和修改请求标头,特别是删除导致Rack 1.2.3中的错误的一些有问题的标头.这是典型的hello world Rack应用程序.
my_middleware.rb
class MyMiddleware
def initialize(app)
@app = app
end
def call(env)
@status, @headers, @response = @app.call(env)
[@status, @headers, @response]
end
end
Run Code Online (Sandbox Code Playgroud)
有没有人有一个例子来处理请求头部并在Rack获得它之前拦截它们?我需要在进入Rack进行解析之前修改请求标头.我有这个设置,认为把它放在Rack之前可能会做到这一点,但我不确定是否以这种方式强制执行.
application.rb
config.middleware.insert_before Rack::Lock, "MyMiddleware"
Run Code Online (Sandbox Code Playgroud) 我正在试图弄清楚如何动态创建方法
class MyClass
def initialize(dynamic_methods)
@arr = Array.new(dynamic_methods)
@arr.each { |m|
self.class.class_eval do
def m(*value)
puts value
end
end
}
end
end
tmp = MyClass.new ['method1', 'method2', 'method3']
Run Code Online (Sandbox Code Playgroud)
不幸的是,这只创建方法m但我需要根据m的值创建方法,想法?
我正在使用Rails 2.3.5和Ruby 1.8.6并试图弄清楚如何让用户通过我的Rails应用程序将文件上传到另一台机器上的FTP服务器.我的Rails应用程序也将托管在Heroku上,这不便于将文件写入本地文件系统.
index.html.erb
<% form_tag '/ftp/upload', :method => :post, :multipart => true do %>
<label for="file">File to Upload</label> <%= file_field_tag "file" %>
<%= submit_tag 'Upload' %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
ftp_controller.rb
require 'net/ftp'
class FtpController < ApplicationController
def upload
file = params[:file]
ftp = Net::FTP.new('remote-ftp-server')
ftp.login(user = "***", passwd = "***")
ftp.putbinaryfile(file.read, File.basename(file.original_filename))
ftp.quit()
end
def index
end
end
Run Code Online (Sandbox Code Playgroud)
目前我只是想让Rails应用程序在我的Windows笔记本电脑上运行.使用上面的代码,我收到了这个错误
Errno::ENOENT in FtpController#upload
No such file or directory -.... followed by a dump of the file contents
Run Code Online (Sandbox Code Playgroud)
我正在尝试上传CSV文件,如果这有任何区别.谁知道发生了什么?
我的顶级水平有这样的东西build.gradle(Gradle 2.2)
ext.repo = "https://my-artifactory-repo"
buildscript {
repositories {
maven {
credentials {
username foo
password bar
}
url repo //doesn't work
}
}
dependencies {
classpath 'com.android.tools.build:gradle:0.14.1'
}
}
allprojects {
repositories {
maven {
credentials {
username foo
password bar
}
url repo //works
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是错误
Could not find property 'repo' on org.gradle.api.internal.artifacts.repositories.DefaultMavenArtifactRepository_Decorated@718afa64.
Run Code Online (Sandbox Code Playgroud)
所以它适用allprojects但不是buildscript.
我的设置:Rails 3.0.9,Ruby 1.9.2
我希望只为create动作生成一个脚手架,它的语法是什么?我猜这是我追加的东西
rails g scaffold Project name:string ...
Run Code Online (Sandbox Code Playgroud) ajax ×1
build.gradle ×1
erb ×1
ftp ×1
gradle ×1
jquery ×1
middleware ×1
pagination ×1
rack ×1
ruby ×1
scala ×1