1

我有两个模型用户和个人资料。轮廓模型有很多属性。我已经使用accepts_nested_attributes_for 在用户模型中访问了它们。

这是我的 profile.rb 模型

class Profile < ActiveRecord::Base
  attr_accessible :address, :certification, :college, :contact_no, :first_name, :higher_education, :interested_in_learning, :last_name, :profile_pic, :school, :user_id, :would_like_to_teach, :about_video, :about_video_html, :category_name, :category_ids

mount_uploader :profile_pic, ProfimageUploader


has_and_belongs_to_many :categories



belongs_to :user

AutoHtml.add_filter(:image) do |text|

text.gsub(/http:\/\/.+\.(jpg|jpeg|bmp|gif|png)(\?\S+)?/i) do |match|

  %|<img src="#{match}" alt=""/>|

end

end

auto_html_for :about_video do

 image

 youtube(:width => 170, :height => 100)

 link :target => "_blank", :rel => "nofollow"

 simple_format

 end

def self.search(search)

 if search

  where('first_name LIKE ?', "%#{search}%")  

else

  find(:all)

end

end

end

这是我的 user.rb 模型

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :token_authenticatable, :confirmable,
  # :lockable, :timeoutable and :omniauthable
  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation, :remember_me
  # Include default devise modules. Others available are:
  # :token_authenticatable, :confirmable,
  # :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
  :recoverable, :rememberable, :trackable, :validatable, :omniauthable
  has_one :profile, :dependent => :destroy
  accepts_nested_attributes_for :profile
  # Setup accessible (or protected) attributes for your model
  attr_accessible :name, :email, :password, :password_confirmation, :remember_me, :uid, :provider, :profile_attributes
  mount_uploader :profile_pic, ProfimageUploader
  acts_as_followable
  acts_as_follower

  def self.find_for_facebook_oauth(auth, signed_in_resource=nil)
    user = User.where(:provider => auth.provider, :uid => auth.uid).first
    if user
      return user
    else
      registered_user = User.where(:email => auth.info.email).first
      if registered_user
        return registered_user
      else
        user = User.create(name:auth.extra.raw_info.name,
        provider:auth.provider,
        uid:auth.uid,
        email:auth.info.email,
        password:Devise.friendly_token[0,20],
        )
      end

    end
  end
end

我的用户编辑页面中的表单是

<% resource.build_profile %>
 <%= simple_form_for resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put, :multipart => true, :class => ".form-horizontal" }  do |f| %>  

  <%= devise_error_messages! %>

  <div><%= f.label :email %><br />
  <%= f.email_field :email, :autofocus => true, :readonly => true %></div>

  <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
    <div>Currently waiting confirmation for: <%= resource.unconfirmed_email %></div>
  <% end %>

  <div><%= f.label :password %> <i>(leave blank if you don't want to change it)</i><br />
  <%= f.password_field :password, :autocomplete => "off" %></div>

  <div><%= f.label :password_confirmation %><br />
  <%= f.password_field :password_confirmation %></div>

  <div><%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
  <%= f.password_field :current_password %></div>

 <%= f.fields_for :profile, @user.profile do |prof| %>

   <div class="field">
    <%= prof.label :first_name %><br />
    <%= prof.text_field :first_name %>
  </div>
  <div class="field">
    <%= prof.label :last_name %><br />
    <%= prof.text_field :last_name %>
  </div>
  <div class="field">
    <%= prof.label :address %><br />
    <%= prof.text_area :address %>
  </div>
  <div class="field">
    <%= prof.label :profile_pic %><br />
    <%= prof.file_field :profile_pic %>
  </div>
  <div class="field">
    <%= prof.label :contact_no %><br />
    <%= prof.text_field :contact_no %>
  </div>
  <div class="field">
    <%= prof.label :school %><br />
    <%= prof.text_field :school %>
  </div>
  <div class="field">
    <%= prof.label :college %><br />
    <%= prof.text_field :college %>
  </div>
  <div class="field">
    <%= prof.label :higher_education %><br />
    <%= prof.text_field :higher_education %>
  </div>
  <div class="field">
    <%= prof.label :certification %><br />
    <%= prof.text_field :certification %>
  </div>
  <div class="field">
    <%= prof.label :about_video %><br />
    <%= prof.text_field :about_video %>
  </div>
   <div class="field">
    <%= prof.label :interested_in_learning %><br />
    <%= prof.association :categories, :label => "Interested in learning", :wrapper_html => { :id => "iil_multiselect", :class=> "signup_field", :multiselect => true }%>
  </div>
  <!--<div class="field">
    <%# prof.label :interested_in_learning %><br />
    <%# prof.text_field :interested_in_learning %>
  </div>-->
  <div class="field">
    <%= prof.label :would_like_to_teach %><br />
    <%= prof.text_field :would_like_to_teach %>
  </div>


  <% end %>

  <div><%= f.submit "Save" %></div>
<% end %>

<h3>Cancel my account</h3>

<p>Unhappy? <%= button_to "Cancel my account", registration_path(resource_name), :data => { :confirm => "Are you sure?" }, :method => :delete %></p>

在个人资料/显示页面中看不到我的个人资料图片我做错了什么?

4

0 回答 0