Je suis nouveau sur Rails mais j'ai beaucoup utilisé PHP au cours des années. Je construis un blog simple (je sais) pour acquérir mes compétences dans le monde MVC/Rails. J'ai les bases qui fonctionnent, mais j'ai passé le week-end à essayer de faire fonctionner Maruku, par exemple un corps de message enregistré dans une zone de texte avec le balisage Markdown Extra sur la base de données, puis de nouveau dans le navigateur.Problèmes d'utilisation de Maruku dans Rails 3
J'ai utilisé le code suivant dans mon modèle post mais je reçois une erreur lorsque je tente de charger/messages - « variable locale non définie ou méthode` Maruku » pour # »
class Post < ActiveRecord::Base
validates :name, :presence => true
validates :title, :presence => true,
:length => { :minimum => 5 }
validates :content, :presence => true
validates :excerpt, :presence => true
has_many :comments, :dependent => :destroy
maruku.new(:content).to_html
end
J'ai aussi essayé quelque chose de similaire dans mon contrôleur de postes que j'ai trouvé ici. Alors appelé @ post.content à mon avis Afficher mais obtenir une erreur:
body = maruku.new(post.body)
post.body = body.to_html
Je suis mort sûr que c'est mon cerveau noob être mort, mais toute aide ou direction serait génial comme je l'ai combattu avec ce depuis deux jours . BTW J'utilise maruku car j'ai besoin de Markdown Extra car mes anciens billets de blog sont tous formatés de cette façon.
Merci
Actualisé - PostsController
class PostsController < ApplicationController
# GET /posts
# GET /posts.xml
def index
@posts = Post.find(:all, :order => 'created_at DESC')
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @posts }
end
end
# GET /posts/1
# GET /posts/1.xml
def show
@post = Post.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @post }
end
end
# GET /posts/new
# GET /posts/new.xml
def new
@post = Post.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @post }
end
end
# GET /posts/1/edit
def edit
@post = Post.find(params[:id])
end
# POST /posts
# POST /posts.xml
def create
@post = Post.new(params[:post])
respond_to do |format|
if @post.save
format.html { redirect_to(@post, :notice => 'Post was successfully created.') }
format.xml { render :xml => @post, :status => :created, :location => @post }
else
format.html { render :action => "new" }
format.xml { render :xml => @post.errors, :status => :unprocessable_entity }
end
end
end
# PUT /posts/1
# PUT /posts/1.xml
def update
@post = Post.find(params[:id])
respond_to do |format|
if @post.update_attributes(params[:post])
format.html { redirect_to(@post, :notice => 'Post was successfully updated.') }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @post.errors, :status => :unprocessable_entity }
end
end
end
# DELETE /posts/1
# DELETE /posts/1.xml
def destroy
@post = Post.find(params[:id])
@post.destroy
respond_to do |format|
format.html { redirect_to(posts_url) }
format.xml { head :ok }
end
end
end
Merci vraiment d'apprécier l'aide - n'était pas au courant de cela. J'ai fait les changements, mais maintenant obtenir une erreur "NoMethodError dans PostsController # index" avec la ligne suivante disant "méthode privée' gsub 'appelé pour: contenu: Symbole " – rollbahn
@rollbahn Mettre à jour votre code exemple. –
Vous ne savez pas comment mettre à jour le code dans un commentaire car il ne semble pas analyser correctement? class Post true valide: title,: presence => true, : length => {: minimum => 5} valide: contenu,: présence => true valident: extrait,: présence => true has_many: commentaires,: dependent =>: détruire Maruku.new (: contenu) .to_html fin –
rollbahn