Original Post:
please help solve the problem.
There is a table users: id :integer, autoincrement name :string gender_id :integer
There is a table genders: id :integer, autoincrement gender_name :string
model User: class User < ActiveRecord::Base belongs_to :gender end
model Gender: class Gender < ActiveRecord::Base has_many :users end
I need the gendername. I try to do so: <% @users.each do |user| %> <div class="col-xs-6"><%= user.name %></div> <div class="col-xs-2"><%= user.gender_id %></div> <% end %>
the result is output number, but I need to gendername
p.s. so I tried: <div class="col-xs-2"><%= user.gender.gender_name %></div>
in this case receives the following error message: undefined method `gender_name' for nil:NilClass
Dear All,
I think that this post raises interesting issues regarding the gathering of a user's gender. The developer is evidently not requiring user indication of gender, and has problems in the event of null. Perhaps that matter is optional. If so, why didn't the developer provide an option for "User Declines" as an example.
I think you would have to ask the developer this. It is not a Rails issue. Perhaps in this case the developer allowed the field to be left empty, marking it as an optional field.
But generally I think this matter is very important. We exist in the 21st Century where a request for gender must be done with sensitivity. What is the convention in this matter?
Rails does not have a convention in this any more than php does. It is not an issue for the underlying framework or language, it is a matter for the developer.
Colin