私は、次のしている:このRailsフォームを正しく処理していますか?私relationships_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を処理しますか?それは私にとってちょっと不器用なようです。
データベースに保存するには:typeを取得できませんが、それ以外はすべて行います。私は私のサーバーログに次を見つける:それはタイプを保存しなければならないので、私には奇妙に思える
Parameters: {"utf8"=>"✓", "authenticity_token"=>"z7R4tWSSVHZmFXfh8HocfyuegZ2rwuXXeTLKbR+cLfs=", "type"=>"0", "commit"=>"Create Relationship", "user_id"=>"7"}
を。
3 .. <%= form_for [@user_id, @relationship] do |f| %>
行で@user_idまたは@ currentユーザーを使用すると問題はありますか?どうして?
'は人です'@ current_user'は盛んです。常に異なるユーザーである必要があります。私はそのチェックインをまだコード化していない。 –
ネスティングのコメントでRailscast#139を見ました。そこに提案すると、これを入れ子にすることが適切だと私は思うようになります。そうでないと思われる理由はありますか? –
その場合、ネストされたリソースは問題ありません。 current_userと比較して、@ userをユーザにしたいと思っているかどうか不安でした。 –