1

私はRubyOnRailsアプリで作業していますが、Active RecordからSaveメソッドを呼び出してデータベースへの新しいリンクを設定しようとすると、次のエラーが発生します。これはうまくいかないコードであり、LinksControllerクラスのCreateメソッドにあります。

def create
  @link = Link.new(params[:link])
  respond_to do |format|
    if @product.save
      format.html { render :action => "create" }
      format.json { render :json => @link }
    else
      format.html { render :action => "new" }
      format.json { render :json => @product.errors, :status => :unprocessable_entity }
    end
  end
end

私が行くとき

http://localhost:3000/links/new 

そして、このフォームで新しいリンクを作成してみてください。

<%= form_for(@link) do |f| %>
<% if @link.errors.any? %>
  <div id="error_explanation">
    <h2><%= pluralize(@link.errors.count, "error") %> prohibited this link from being saved:</h2>
    <ul>
      <% @link.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
    </ul>
  </div>
<% end %>

<div class="field">
  <%= f.label :title %><br />
  <%= f.text_field :title %>
</div>
<div class="field">
  <%= f.label :url %><br />
  <%= f.text_field :url %>
</div>
<div class="actions">
  <%= f.submit %>
</div>

[送信]をクリックすると、次のエラーが発生します。

undefined method `save' for nil:NilClass

何が起こっているのかわからないので、誰かが答えを持っているか、あるいはポインタさえあれば、私は本当にそれをいただければ幸いです。ありがとう。

4

1 に答える 1

0
  @link = Link.new(params[:link])
  respond_to do |format|
    if @product.save

それで、どこ@productから来たのですか?

于 2012-09-10T16:34:38.233 に答える