小编Ric*_*ano的帖子

根据2列定义唯一主键

我想根据2列定义记录的唯一键:'id'和'language'

让用户提交以下字符串:id = 1 language = en value = blabla english id = 1 language = fr value = blabla french

我尝试使用set_primary_key和add_index,但它不起作用(add_index:words,["id","language_id"],:unique => true)

我有以下型号:

class Word < ActiveRecord::Base
  belongs_to :dictionnary
  belongs_to :language

  attr_accessible :lang, :rev, :value, :dictionnary_id, :language_id

  validates :value, :uniqueness => true

end  
Run Code Online (Sandbox Code Playgroud)

还有这个

class Language < ActiveRecord::Base
    has_many :words

    attr_accessible :lang
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails primary-key composite-primary-key

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

Rails未定义方法'model_name'

我有以下型号:

class Contact
  attr_accessor :name, :emails, :message

  def initialize(attrs = {})
    attrs.each do |k, v|
      self.send "#{k}=", v
    end
  end

  def persisted?
    false
  end
end
Run Code Online (Sandbox Code Playgroud)

我在我的视图中呼吁联系表格如下:

<div class="email_form">
   <%= render 'form' %>
</div>
Run Code Online (Sandbox Code Playgroud)

这是控制器:

class ShareController < ApplicationController
  layout "marketing_2013"
  respond_to :html, :js

  def index
    @contact = Contact.new
  end
end
Run Code Online (Sandbox Code Playgroud)

这是表格:

<%= form_for(@contact) do |f| %>
    <%= f.label :name, "Your Name" %>
    <%= f.text_field :name %>
    <%= f.label :text, "Send to (separate emails with a comma)" %>
    <%= f.text_field :emails …
Run Code Online (Sandbox Code Playgroud)

activemodel ruby-on-rails-3

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