can select relection from relation db

This commit is contained in:
Rueshyna 2012-12-03 14:55:57 +08:00 committed by chris
parent 0e6c75e677
commit e143f9a345
6 changed files with 18 additions and 20 deletions

View File

@ -18,6 +18,7 @@ class Desktop::CoAuthorsController < ApplicationController
def new
@co_author = CoAuthor.new
@co_author_relations = CoAuthorRelation.all
respond_to do |format|
format.html { render :layout => false}

View File

@ -13,7 +13,7 @@ class CoAuthor
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/
validates :email, format: { with: VALID_EMAIL_REGEX },
allow_blank: true,
uniqueness: { case_sensitive: false }
uniqueness: { case_sensitive: false }
validates :co_author, presence: true
before_save { |coauthor| coauthor.email = email.downcase if not coauthor.email.nil?}

View File

@ -5,4 +5,6 @@ class CoAuthorRelation
field :relation, localize: true
has_and_belongs_to_many :co_authors
validates :relation, presence: true
end

View File

@ -3,7 +3,7 @@ class User
include Mongoid::Document
include Mongoid::Timestamps
devise :database_authenticatable, :recoverable, :rememberable, :trackable, :registerable, :timeoutable
devise :database_authenticatable, :recoverable, :rememberable, :trackable, :registerable, :validatable, :timeoutable
mount_uploader :avatar, AvatarUploader
@ -194,4 +194,4 @@ class User
end
end
end
end

View File

@ -15,19 +15,14 @@
<%= f.text_field :email %>
</li>
<li class="s_grid_row">
<%= f.label :type%><br />
<select name="co_author[type]" id="" class="s_grid s_grid_4">
<%= options_for_select(
[["朋友","朋友"],
["學生","摯友"],
["老師","老師"],
["摯友","摯友"],
["親戚","親戚"],
["同事","同事"],
["共同作者","共同作者"]
])
%>
@co_author_relations.map do |relation|
[relation.relation, relation.id]
end
)%>
</select>
</li>
</ul>

View File

@ -120,13 +120,13 @@
</li>
<li class="s_grid_row">
<select name="writing_journal[journal_author_type_ids][]" id="" class="s_grid s_grid_4">
<%= options_for_select(
@author_types.map do |author_type|
[author_type.title, author_type.id]
end
)
%>
<select name="writing_journal[journal_author_type_ids][]" id="" class="s_grid s_grid_4">
<%= options_for_select(
@author_types.map do |author_type|
[author_type.title, author_type.id]
end
)
%>
</select>
<select name="writing_journal[journal_paper_type_ids][]" id="" class="s_grid s_grid_2">