[Radiant] Error Trying to Use script/console to Create Pages

Ethan Winn ebwebw+list+radiantcms at gmail.com
Fri Nov 17 12:09:03 CST 2006


This post was a dupe, my apologies: I didn't see it in the archives because
it was not under my name due to a mistake I made setting up gmail aliasing.
Sorry for all the list spam, but any thoughts?

Thanks,

Ethan

On 11/17/06, Radiant List <ebwebw+list+radiantcms at gmail.com> wrote:
>
> Hello Radiant Folk!
>
> I'm a Radiant neophyte with a little bit of Rails experience. Thank you so
> much for making Radiant such an elegant, usable and slick CMS, I'm very
> excited about using it for some upcoming projects.
>
> I've long had a dream of being able to create simple,
> hierarchical-navigation based sites using simple scripting or, even better,
> YAML/XML etc. to generate the framework and initial content.  I'm hopeful I
> can figure out a way to do this using Radiant. I've been experimenting with
> some approaches using the rails console.
>
> I first tried creating a pages_controller instance then running the new
> method after setting the params property.  This didn't work due to the use
> of the request object in that method.  I then
> tried adapting that method so it could work as a simple page creation
> function.  I am running into a " undefined method `stringify_keys!' for
> "body":String" message however.
>
> Here's my code:
>
>
>   def new_page(
> title,parts,slug,breadcrumb,parent=1,behavior="",layout_id=
> "1") page = Page.
> new
>     page.slug = slug
>     page.breadcrumb = breadcrumb
>     page.parent = Page.find_by_id(parent)
>     parts.each
> do |part|
>       new_part = PagePart.new(part[
> :name])
>       new_part.filter_id = part[
> :filter_id]
>       new_part.content = part[:content]
>       page.parts << new_part
>
> end
>     page.save
>   end
>
> then I run
>
> new_page("test automatic", [{:name=>"body", :filter_id=>"Markdown",
> :content=>""}, {:name=>"extended",:filter_id=>"",
> :content=>""}],"test-automatic","test automatic")
>
> and get the error
>
> NoMethodError: undefined method `stringify_keys!' for "body":String
>         from
> ./script/../config/../config/../vendor/rails/activerecord/lib/active_record/base.rb:1506:in
> `attributes='
>         from
> ./script/../config/../config/../vendor/rails/activerecord/lib/active_record/base.rb:1354:in
> `initialize_without_callbacks'
>         from
> ./script/../config/../config/../vendor/rails/activerecord/lib/active_record/callbacks.rb:236:in
> `initialize'
>         from (irb):63:in `new_page'
>         from (irb):62:in `new_page'
>         from (irb):70
>         from :0
>
> I've also tried creating the part_parts object using a straightforward
> call from the console (p= PagePart.new("body")) with the same error
> resulting.
>
> I'm on a OS X 10.4 mac with a slightly outdated install of Darwinports,
> but everything seems to be running local here, not off my Rails install.
>
> Any thoughts on how I can batch-generate pages or fix this script?
>
> Thanks,
>
> Ethan
>
> Ps.  Sorry if this post is a dupe...I think I may have had some problems
> sending it the first time or two.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.radiantcms.org/pipermail/radiant/attachments/20061117/7a828232/attachment.html


More information about the Radiant mailing list