我正在为大学开发一个应用程序,用户可以在其中登录并上传远足径的详细信息。
到目前为止,一切正常,我还为每条远足小径的照片实施了嵌套表格。用户可以登录并创建徒步旅行。
我想显示用户在显示/个人资料页面中创建的所有远足,但是当我在我的数据库中设置了关系并在我的模型中设置了has_many
&belongs_to
选项时。我也尝试过使用嵌套来做到这一点,accepts_nested_attributes_for :hikingtrails
但这些都不起作用。
当用户创建远足路径时,我检查了我的数据库,它没有更新表中的 user_id 字段。
我不确定我是否以完全错误的方式接近这个问题,我应该查看多态关联吗?
class User < ActiveRecord::Base
attr_accessible :user_name, :email, :password, :password_confirmation, :photos_attributes, :hikingtrails_attributes
has_many :hikingtrails
accepts_nested_attributes_for :hikingtrails, :allow_destroy => :true, :reject_if => :all_blank
class Hikingtrail < ActiveRecord::Base
attr_accessible :description, :name, :looped, :photos_attributes,:directions_attributes, :user_id
has_many :photos
has_many :trails
has_many :directions
belongs_to :user
用户/show.html.erb
<div class="page-header">
<h1>Your Profile</h1>
</div>
<p>
<b>username:</b>
<%= @user.user_name %>
</p>
<p>
<b>email:</b>
<%= @user.email %>
</p>
<h4>Small Photos</h4>
<% @user.photos.each do |photo| %>
<%= image_tag photo.image_url(:thumb).to_s %>
<% end %>
<h4>Hiking Trails</h4>
<% @user.hikingtrails.each do |hk| %>
<%= hk.name %>
<% end %>
<%= link_to "Edit your Profile", edit_user_path(current_user), :class => 'btn btn-mini' %>