申し訳ありませんが、私はレールに慣れていません
現在、 https://pinboard.inのような小さなアプリケーションを構築しようとしています。彼らとの夏のインターンシップを取得しようとしています。
これが私のブックマークモデルです
class Bookmark < ActiveRecord::Base
attr_accessible :url, :title, :description, :counter
belongs_to :user
#validates that url has https:// or http://
validates :url, :format => { :with => /(^$)|(^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0- 9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$)/ix,
:message => "Invalid URL" }
end
これが私のブックマークコントローラーです
class BookmarksController < ApplicationController
def add_bookmark
@bookmark = Bookmark.new
respond_to do |format|
format.html
end
end
def draw_recent
@bookmarks = Bookmark.all
end
end
これが私のフォームです
<%= form_for :bookmark do |f| %>
URL: <%= f.text_field :url %><br/>
Title: <%= f.text_field :title %><br/>
Description: <%= f.text_field :description %><br/>
<%= f.submit "Submit" %>
<% end %>
すべてが正しくレンダリングされ、情報を入力して送信すると追加されます
ここに私の出力があります
Started POST "/add" for 127.0.0.1 at 2013-05-09 09:55:58 -0400
Processing by BookmarksController#add_bookmark as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"ZCxA226pOVyu5AkQAmvvfKz5uPQ4gFggPTwrswtqZYk=", "bookmark"=> {"url"=>"http://litmus.com", "title"=>"Email marketing ", "description"=>"email marketing "}, "commit"=>"Submit"}
Rendered bookmarks/_form.html.erb (1.9ms)
Rendered bookmarks/add_bookmark.html.erb within layouts/application (3.3ms)
Completed 200 OK in 96ms (Views: 95.4ms | ActiveRecord: 0.0ms)
私の頭には2つの考えがあります.フォームは正しく投稿されていますが、どういうわけかデータベースに何も保存されていません.コントローラにsaveメソッドが必要ですか?
:bookmark の代わりに @bookmark を試すと、アプリは間違ったbookmarks.pathというエラーをスローします
undefined method `bookmarks_path
前者はコントローラーでインスタンス @bookmark を実際に操作しており、後者はモデルをラップしていることを理解しています....
誰かが私を啓発できますか?これは皆さんにとって非常に些細なことだと思います... :)