サイトのコメント機能を実装しようとしています。これまでのところ、コメントしたいムービーのmovie_id
を、コメントを作成するページ(デフォルトのスカホールドビュー)に渡すことができました。その後、私はのcreate
メソッドにmovie_id
を渡そうとしますが、それは合格しません。私はそのクラス(params[:movie_id].class
)をcomment
属性に割り当てようとしましたが、それはNilClass
と言います。Simple_form:パラメータが渡されない
マイコード:
comments_controller.rb
def create
@comment = Comment.new
@comment.comment = params[:comment].values.first
@comment.user_id = current_user.id
@comment.movie_id = params[:movie_id]
#...
end
_form.html.erb
(1がnew
ページのレンダリング)
<%= simple_form_for(@comment) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :comment, label: false, placeholder: 'Your opinion'%>
<%= f.hidden_field :movie_id, input_html: { value: params[:movie_id] } %>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>
params[:movie_id]
html
ファイルで、私はそれになりたいものを実際にあります私はそれをプレースホルダとして追加しようとしましたが、正しい値を持っています。 ...お時間を
おかげ
これはおそらく愚かな間違いになりますが、私は本当にこだわっています。
後者では、フィールドに値が設定されています(' type'を指定してもフィールドは隠されません)それでもまだそれは無くなっています。上記の –
の構文を修正しましたが、非表示になっていない場合は、テキストフィールドに値が表示されましたか? –
はい、値は正しく設定されています。コントローラに渡しても、それでもnilが表示されます。 –