В моем Relations_Controller у меня есть следующее:
class RelationshipsController < ApplicationController
def new
@user_id = User.find_by_id(params[:user_id])
@relationship = Relationship.new
end
def create
@relationship = Relationship.new(params[:relationship])
@relationship.rel_id = User.find_by_id(params[:user_id])
@relationship.user_id = current_user
if @relationship.save
redirect_to root_url, :notice => "Signed Up!"
else
render "new"
end
end
end
и по моему мнению:
<section id="main">
<%= form_for [@user_id, @relationship] do |f| %>
<div class="field">
<%= f.label :type %>
<%= select_tag(:type, options_for_select([['Friend', 0], ['Family', 1],['Spouse', 2]])) %>
</div>
<div class="actions"><%= f.submit %></div>
<% end %>
</section>
У меня есть несколько вопросов:
Это правильный способ обработки rel_id и user_id? Это кажется мне неуклюжим.
Я не могу получить тип: для сохранения в базе данных, но все остальное делает. В журналах сервера я нахожу следующее:
Parameters: {"utf8"=>"✓", "authenticity_token"=>"z7R4tWSSVHZmFXfh8HocfyuegZ2rwuXXeTLKbR+cLfs=", "type"=>"0", "commit"=>"Create Relationship", "user_id"=>"7"}
, что мне кажется странным, потому что это должен быть тип сохранения.
3 .. Имеет ли значение, если я использую @user_id или @current user в строке <%= form_for [@user_id, @relationship] do |f| %>
? Почему?