<%= form_for(@membership) do |f| %>
<%= f.collection_select :user_id, User.all, :id, :email %>
<%= f.collection_select :role_id, Role.all, :id, :name %>
<%= f.submit %>
<% end %>
我想要做的是,而不是使用用户的选择框,我想为用户的电子邮件放置一个文本字段。虚拟属性
<%= form_for(@membership) do |f| %>
<%= f.text_field :email %>
<%= f.collection_select :role_id, Role.all, :id, :name %>
<%= f.submit %>
<% end %>
Membership.rb
belongs_to :user
belong_to :role
attr_accessor :email
def email
self.user.email if self.user
end
什么我不知道是什么在控制器写,使其工作,是该ATTR访问使用的东西和电子邮件方法好吗?任何帮助表示赞赏。
def create
@membership = Membership.new(params[:membership])
if @membership.save
redirect_to(memberships_url)
else
render :action => "new"
end
如果您选择了最佳问题标题,会更好。我必须阅读整个问题主体以了解你在问什么。 –