我是Rails的新手,对于非常基本的问题感到抱歉.我正在尝试在提交表单时将jQuery UI Slider的值存储在我的数据库中.对于其他元素,例如text_area,这可以通过datepicker <%= f.text_area :my_score %>或使用jQuery Datepicker Rails插件的日期来完成
:<%= f.datepicker :my_date %>.但是,我无法找到滑块的插件,从我的研究来看,最好的方法是使用hidden_field.但是,我不知道获取滑块值并正确传递给表单的正确表示法.任何帮助将不胜感激.
<div id="slider"></div>
<input type="hidden" id="hidden"/>
<%= f.hidden_field :my_score, :value => (what goes here?) %>
Run Code Online (Sandbox Code Playgroud)
滑块的Javascript:
<script>
$(function() {
$( "#slider" ).slider({
value:100,
min: 5,
max: 200,
step: 5,
slide: function( event, ui ) {
$( "#amount" ).val( ui.value );
},
change: function(event, ui) {
$('#hidden').attr('value', ui.value);
}
});
$( "#amount" ).val( $( "#slider" ).slider( "value" ) );
});
</script>
Run Code Online (Sandbox Code Playgroud) 我正在基于此Railscast教程创建日历视图.在本教程中,:published_on字段是日期字段.我的问题是,如果:published_on是日期时间字段而不是日期字段,我将如何调整下面的代码使其工作?
移民
t.date :published_on
Run Code Online (Sandbox Code Playgroud)
控制器:
def index
@articles = Article.all
@articles_by_date = @articles.group_by(&:published_on)
@date = params[:date] ? Date.parse(params[:date]) : Date.today
end
Run Code Online (Sandbox Code Playgroud)
视图:
<div id="articles">
<h2 id="month">
<%= link_to "<", date: @date.prev_month %>
<%= @date.strftime("%B %Y") %>
<%= link_to ">", date: @date.next_month %>
</h2>
<%= calendar @date do |date| %>
<%= date.day %>
<% if @articles_by_date[date] %>
<ul>
<% @articles_by_date[date].each do |article| %>
<li><%= link_to article.name, article %></li>
<% end %>
</ul>
<% end %>
<% end %>
</div>
Run Code Online (Sandbox Code Playgroud) 我的问题与这个问题非常相似,但这个答案对我不起作用.我有一个自定义的xml文件,我想下载而不是浏览器呈现.我尝试过这个send_file方法就像我上面链接的问题的答案,但我也得到一个错误can't convert Hash into String.
控制器:
respond_to do |format|
format.tmx
end
Run Code Online (Sandbox Code Playgroud)
模板:show.tmx.erb
<?xml version="1.0"?>
<tmx xmlns="http://www.gala-global.org/oscarStandards/tmx/tmx14b.html" version="1.4b">
</tmx>
Run Code Online (Sandbox Code Playgroud)
查看(我希望此链接在浏览器中下载文档而不是渲染):
<%= link_to "Download", document_path(@document, format: "tmx") %>
Run Code Online (Sandbox Code Playgroud) 我试图在link_to调用中嵌入额外的HTML,如在此线程中找到的,在link_to调用中嵌入其他HTML
但是,我还想使用I18n.所以不是这样的:
<%= link_to '<i class="icon-search"></i> Show'.html_safe, exercise_path(exercise), :class => 'btn btn-small' %>
Run Code Online (Sandbox Code Playgroud)
我想在上面的例子中使用t(:show)或I18n.t(:show)代替硬编码Show.但是,我无法弄清楚正确的语法.任何帮助将不胜感激.
icons ruby-on-rails internationalization ruby-on-rails-3 twitter-bootstrap
我将I18n添加到我使用Devise的RoR应用程序中,如果我尝试重置密码,我现在收到错误.错误是:
Routing Error
No route matches {:action=>"edit", :controller=>"devise/passwords", :reset_password_token=>"uMopWesaxczNn2cdePUQ"}
Run Code Online (Sandbox Code Playgroud)
如何才能正确设置我的Devise路由以计算I18n?
的routes.rb
scope ":locale", locale: /#{I18n.available_locales.join("|")}/ do
devise_for :users, path_names: {sign_in: "login", sign_out: "logout"},
controllers: {omniauth_callbacks: "omniauth_callbacks"}
root to: 'static_pages#home'
end
match '*path', to: redirect {|params| "/#{I18n.default_locale}/#{CGI::unescape(params[:path])}" }, constraints: lambda { |req| !req.path.starts_with? "/#{I18n.default_locale}/" }
match '', to: redirect("/#{I18n.default_locale}")
Run Code Online (Sandbox Code Playgroud)
application_controller.rb
before_filter :set_locale
def set_locale
I18n.locale = params[:locale] if params[:locale].present?
end
def default_url_options(options = {})
{locale: I18n.locale}
end
Run Code Online (Sandbox Code Playgroud) routing ruby-on-rails internationalization devise ruby-on-rails-3
目前,此堆叠条形图基于每个条的总数从左到右排序.我如何对每个单独的条进行排序,以便不用按键对每个单独的条进行排序(即5岁以下,65岁以上是在顶部),它将按值对每个单独的条进行排序(最大)在底部,最小在顶部).
例如:
目前,CA栏是这样堆叠的(从下到上)
CA,2704659,4499890,2159981,3853788,10604510,8819342,4114496
Run Code Online (Sandbox Code Playgroud)
我希望它像这样堆叠(从下到上)
CA,10604510,8819342,4499890,4114496,3853788,2704659,2159981
Run Code Online (Sandbox Code Playgroud)
为了清楚起见,我需要能够在客户端执行此操作(即,不能更改原始数据的顺序或格式).
我的Rails应用程序中有一个嵌套的表单模型.当我去编辑模型中的对象时,除了选择框之外,我的所有字段(text_area,check_box等)都填充了数据库中的数据.当我使用表单编辑模型中的现有数据时,如何让我的选择框也填充?
<%= form_for @test do |f| %>
<%= f.fields_for :questions do |builder| %>
<%= render 'question_fields', f: builder %>
<% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
_question_fields.html.erb
<fieldset>
<%= f.text_area :question_text %>
<%= f.select :correct_answer, options_for_select([['A', 1], ['B', 2], ['C', 3], ['D', 4], ['E', 5]]), :prompt => 'Choose the correct answer' %>
<%= f.check_box :question_check %>
</fieldset>
Run Code Online (Sandbox Code Playgroud) forms ruby-on-rails form-helpers ruby-on-rails-3 drop-down-menu
我试图在Ruby中计算数组的几何平均值.但是,在阵列增长到一定大小后,它开始返回Infinity以计算几何平均值.知道导致这种情况发生的原因,或者更好的方法来计算Ruby中较大数组的几何平均值?
ruby 1.9.3p125(2012-02-16修订版34643)[x86_64-darwin10.8.0]
例
def gmean(x)
prod=1.0
x.each {|v| prod *= v}
prod**(1.0/x.size)
end
sample_array = [1, 1, 1, 1200, 1483, 1827, 2114, 2163, 2231, 2313, 2368, 2636, 2736, 2834, 2847, 2985, 3225, 3304, 3317, 3439, 3519, 3586, 3607, 3611, 3722, 3770, 4346, 4383, 4392, 4548, 4639, 4773, 4836, 4929, 4991, 4998, 5075, 5078, 5433, 5549, 5727, 5908, 5911, 5989, 6007, 6031, 6065, 6097, 6141, 6654, 6915, 6969, 6972, 7074, 7257, 7260, 7342, 7526, 7550, 7898, 8032, 8037, …Run Code Online (Sandbox Code Playgroud)