小编Mat*_*ias的帖子

以简单形式向text-input添加默认值

我想使用simple-form向文本输入字段添加默认值.有了:placeholder它不作为默认....

<%= f.input :user, :placeholder => 'user@domain.com' %>
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-3 simple-form

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

Rails:uniq vs. distinct

有人可以简要地向我解释的方法之间使用的差异uniqdistinct

我已经看到两者都在类似的背景下使用,但差异对我来说并不十分清楚.

activerecord ruby-on-rails

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

Rails:如何i18n字符串数组?

我在使用I18n.translate翻译数组时遇到了麻烦.

具体来说,我有这个阵列,

module TaskEnums
  OCTAVE_BANDS = [:hz63, :hz125, :hz250, :hz500, :hz1000, :hz2000, :hz4000, :hz8000, :hz16000]
end
Run Code Online (Sandbox Code Playgroud)

我在YAML文件中有以下翻译.

en:
  TaskEnums:
    OCTAVE_BANDS:
        hz63: "63 Hz"
        hz125: "125 Hz"
        hz250: "250 Hz"
        hz500: "500 Hz"
        hz1000: "1000 Hz"
        hz2000: "2000 Hz"
        hz4000: "4000 Hz"
        hz8000: "8000 Hz"
        hz16000: "16000 Hz"
Run Code Online (Sandbox Code Playgroud)

在我看来,我想显示一个允许用户选择频率的下拉菜单.

<%= form_for(@task) do |f| %>
  <%= f.select :frequency, TaskEnums::OCTAVE_BANDS %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我知道我可以翻译单个符号t :symbol,但这种方法似乎不适用于数组(例如t TaskEnums::OCTAVE_BANDS,不做我需要的).

有谁知道我如何翻译OCTAVE_BANDS数组,以便翻译出现在下拉列表中?这似乎一定是一个常见的问题,所以我假设(并希望!)有一个简单的解决方案......任何人都可以建议如何完成它?

非常感谢,

D.

ruby-on-rails internationalization

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

如何为Ruby On Rails设置Postfix以发送电子邮件

我想要postfix在我的ROR项目中发送电子邮件.由于其更安全和更多的功能.

但现在我很失落.我安装postfix了ROR工作.但接下来该怎么办?

(我只需发送电子邮件,暂不收到)

我应该配置postfix,让它能够先在评论行发送电子邮件,然后将其集成到ROR中吗?

如果是这样,我应该如何设置配置文件postfix,以及如何设置rails

或者我只是需要做每一个设置rails?如果是这样,详细设置应该是什么?

我很困惑.许多教程要么不起作用,要么不适合我的情况.

email postfix-mta ruby-on-rails

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

Ruby on rails - 嵌套属性:如何查找或创建嵌套模型

我有一个Bill嵌套Customer模型的模型.该Customer模型有一个电话号码,上面有唯一性验证.在创建帐单时,我想根据电话号码获取现有记录,或者如果不存在则创建新记录.我应该怎样做RESTful

rest ruby-on-rails nested-attributes

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

js.erb是如何工作的

最近我遇到了一些正在使用的应用程序,js.erb我不确定如何使用它...这是下面的代码.有人可以帮我理解这是如何工作的吗?

routes.rb文件中

map.resources :player_emails
Run Code Online (Sandbox Code Playgroud)

我的控制器player_emails_controller.rb在创建动作中

def create
 @player_email = PlayerEmail.create(params[:player_email])
 if @player_email.save
  @response_txt = "The player has been emailed."
  PlayerEmailsMailer.deliver_pattern_email(@something, @player_email, request.host_with_port)
  @error = false
 else
  @error = true
  @response_txt = "Please make sure you entered your name and a valid email address."
 end
end
Run Code Online (Sandbox Code Playgroud)

然后我有文件 player_emails/create.js.erb

$('#player_email_ind').hide();
$('#player_email_submit').show();
$('#player_response_msg').html("<%= escape_javascript @response_txt %>").fadeIn();
<% unless @error %>
$('#player_email_form')[0].reset();
<% end %>
Run Code Online (Sandbox Code Playgroud)

我知道jquery会发生什么,但我不知道这是怎么做的ajax.它是否只是ajax在有js.erb... 时自动进行调用...有人可以解释它的工作方式以及为什么我不需要在控制器操作中的respond_to告诉它这是format.js

javascript ruby ruby-on-rails asp.net-ajax erb

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

将两个不同的ActiveRecord集合合并为一个

我想创建所有公司活动的视觉时间表.时间轴的HTML是使用a构建的loop.

为简单起见,我们假设两个模型Hire&Deal.两个模型都具有date属性和一些模型特定属性.如何将ActiveRecord两个模型的结果,然后order合并的哈希值合并date为一个我可以循环的哈希?

ruby sorting activerecord ruby-on-rails ruby-on-rails-4

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

关联名称与 Active Record 中的方法冲突

您好,我是 Rails 的初学者,并建立了具有各种关联的数据库/模型。

我希望我的控制器将记录和相应的记录transactions都保存到数据库(即事务中的每个子事务(例如产品)一行)。transactionssubtransactions

创建新表subtransactions(与 关联transactions)后,出现以下异常:

TransactionsController#create 中的参数错误

You tried to define an association named transaction on the model Subtransaction, 
but this will conflict with a method transaction already defined
by Active Record. Please choose a different association name.
Run Code Online (Sandbox Code Playgroud)

我对这告诉我的内容有点困惑,或者更具体地说,在哪里寻找错误。不知道如何找出我的协会与哪种方法相冲突。

ruby activerecord ruby-on-rails associations

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

具有嵌套 fields_for 的表单,可保存到多个记录

我有三个模型, companiestransactionssubtransactions。每个都有很多下一个。我需要构建一个保存transactionssubtransactions.

我正在努力寻找表单的最佳方法以及保存到数据库的适当方法。理想情况下,如果所有记录都通过验证,则立即保存记录。

我的简化形式:

<%= form_for(@transaction) do |f| %>
  <div class="field" id="transaction_amount">
    <%= f.label :total %><br>
    <%= f.text_field :total %>
  </div>

    <% 1.upto(5) do |i| %>
          <%= fields_for("subtransaction[#{i}]") do |s| %>
              <div class="field" id="subtotal_amount">
                <%= s.label :subtotal, "Subtotal #{i}" %><br>
                <%= s.text_field :subtotal %>
              </div>
          <% end %>
    <% end %>  
<% end %>
Run Code Online (Sandbox Code Playgroud)

我的交易控制器:

def new
    @transaction = company.transactions.build if logged_in?
end

def create
    @transaction = company.transactions.build(transaction_params)

    params[:subtransaction].each …
Run Code Online (Sandbox Code Playgroud)

forms parameters ruby-on-rails associations fields-for

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

Rails:使用不同的地方

我有一个 ActiveRecord 查询:

Shareholder.where(is_company: false).distinct
Run Code Online (Sandbox Code Playgroud)

这给了我错误:

ActiveRecord::StatementInvalid: PG::UndefinedFunction: ERROR:  could not identify an equality operator for type json
Run Code Online (Sandbox Code Playgroud)

ActiveRecord 创建的 SQL 查询: SELECT DISTINCT "shareholders".* FROM "shareholders" WHERE "shareholders"."deleted" = $1 AND "shareholders"."is_company" = $2

我有点困惑这行不通。怎么了?

activerecord ruby-on-rails distinct

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

Rails:在我的异常#<Task:0x98438b8>中,唯一的十六进制值代表什么

我是铁杆新手,最近一直想知道以下内容:"

十六进制值(例如0x98438b8)在例外中表示的是什么

undefined local variable or method "company_id" for #<Task:0x98438b8>

这对调试有什么用?

ruby-on-rails exception

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